### MATLAB实验六知识点详解 #### 一、实验目标与背景 本次实验的主要目的是帮助学习者理解和掌握MATLAB中函数文件的基本概念以及如何定义和调用MATLAB函数。通过实际的操作练习,加深对函数文件的理解,并能够灵活运用这些知识解决实际问题。 #### 二、实验具体内容分析 ##### 1. 定义并调用函数文件进行数学运算 **函数文件:** `Untitled2` - **函数定义**: `function[a,b,c,d]=Untitled2(x)` - **输入参数**: - `x`: 输入的复数值 - **输出参数**: - `a`: 输入复数的指数值 - `b`: 输入复数的自然对数值 - `c`: 输入复数的正弦值 - `d`: 输入复数的余弦值 **函数实现**: ```matlab function[a,b,c,d]=Untitled2(x) a=exp(x); b=log(x); c=sin(x); d=cos(x); end ``` - **脚本文件调用**: - 输入: `x=input('x=')` - 调用: `[a,b,c,d]=Untitled2(x)` **运行示例**: ```matlab >> Untitled4 x=20 a= 4.8517e+08 b= 2.9957 c= 0.9129 d= 0.4081 ``` ##### 2. 求解线性方程组 **函数文件:** `Untitled6` - **函数定义**: `function[a1,a2,n1,n2]=Untitled6(m1,m2,x)` - **输入参数**: - `m1`: 质量1 - `m2`: 质量2 - `x`: 角度 - **输出参数**: - `a1`: 加速度1 - `a2`: 加速度2 - `n1`: 力1 - `n2`: 力2 **函数实现**: ```matlab function[a1,a2,n1,n2]=Untitled6(m1,m2,x) g=9.8; A=[m1.*cos(x),-m1,-sin(x),0;m1.*sin(x),0,cos(x),0;0,m2,-sin(x),0;0,0,-cos(x),1]; B=[0;m1.*g;0;m2.*g]; X=inv(A)*B; a1=X(1); a2=X(2); n1=X(3); n2=X(4); end ``` - **脚本文件调用**: - 输入: `m1=input('m1=')`, `m2=input('m2=')`, `x=input('角度为:')` - 调用: `[a1,a2,n1,n2]=Untitled6(m1,m2,x)` **运行示例**: ```matlab >> Untitled5 m1=4 m2=4 角度为:pi a1= 2.4003e-15 a2= -1.2002e-15 n1= -39.2000 n2= 78.4000 ``` ##### 3. 求解绝对素数 **函数文件:** `Untitled8` - **函数定义**: `function[y]=Untitled8(x)` - **输入参数**: - `x`: 自然数 - **输出参数**: - `y`: 是否为绝对素数 (1: 是, 0: 不是) **函数实现**: ```matlab function[y]=Untitled8(x) if isprime(x) == 1 ge = mod(x, 10); shi = fix(x / 10); x1 = ge * 10 + shi; if isprime(x1) == 1 y = 1; else y = 0; end else y = 0; end end ``` - **脚本文件调用**: - 循环: `for x = 10:99` - 调用: `[y] = Untitled8(x)` - 输出: `if y == 1; disp(x); end` **运行示例**: ```matlab >> Untitled7 11 13 17 31 37 71 73 79 97 ``` ##### 4. 处理矩阵输入 **函数文件:** `Untitled10` - **函数定义**: `function[fx]=Untitled10(x)` - **输入参数**: - `x`: 矩阵 - **输出参数**: - `fx`: 同阶矩阵 **函数实现**: ```matlab function[fx]=Untitled10(x) fx = (1 ./ ((x - 2).^2 + 0.1)) + (1 ./ (x - 3).^4 + 0.01); end ``` - **脚本文件调用**: - 输入: `x = input('x=')` - 调用: `[fx] = Untitled10(x)` **运行示例**: ```matlab >> Untitled9 x=[1,2,3] fx= 0.9816 1.0100 Inf ``` ##### 5. 数学表达式计算 **函数文件:** `f` - **函数定义**: `function[y]=f(n)` - **输入参数**: - `n`: 输入变量 - **输出参数**: - `y`: 计算结果 **函数实现**: ```matlab function[y]=f(n) y = n + 10 * log(n^2 + 5); end ``` - **脚本文件调用**: - 调用: `y = f(40) / (f(30) + f(20))` **运行示例**: ```matlab >> Untitled y = 0.6390 ``` **函数文件:** `fn` - **函数定义**: `function[y]=fn(n)` - **输入参数**: - `n`: 输入变量 - **输出参数**: - `y`: 计算结果 **函数实现**: ```matlab function[y]=fn(n) y = 0; for i = 1:n y = y + i * (i + 1); end end ``` - **脚本文件调用**: - 调用: `y = fn(40) / (fn(30) + fn(20))` **运行示例**: ```matlab >> Untitled13 y = 1.7662 ``` #### 三、实验总结 本次实验通过具体的实践操作,使学习者掌握了MATLAB函数文件的定义与调用方法,包括数学运算、线性方程组求解、绝对素数判断、矩阵处理以及数学表达式的计算等知识点。这些技能不仅能够帮助学习者更好地理解和应用MATLAB语言,还能够在未来的科学研究和工程实践中发挥重要作用。
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助