记忆力比较差,把学习过程中常用的语法记录于此,方便回忆时索引
MATLAB总结1:基本语句
文章目录
一、if语句
(1) 单分支 if 语句
> if 条件
语句
end
(2)双分支 if 语句
if 条件
语句组1
else
语句组2
end
(3)多分支if 语句
if 条件1
语句组1
elseif 条件2
语句组2
⋯
elseif 条件m
语句组m
else
语句组n
end
二、syms定义符号变量&&subs带入变量
1.syms
syms 是 MATLAB 中用于创建符号变量(symbolic variables)的关键字。
符号变量是一种特殊类型的变量,用于处理符号运算和代数表达式。与普通的数值变量不同,符号变量可以表示未知数、函数、表达式等,并支持对它们进行符号计算、求导、积分等操作。
2.subs
- R = subs(S, new) 利用new的值代替符号表达式S中的默认符号。
R = subs(S) 用由调用函数或Matlab工作空间中获取的值替代了在符号表达式S中的所有当前的变量。 - R = subs(S, old, new) 利用new的值代替符号表达式中old的值。old为符号变量或是字符串变量名。new是一个符号或数值变量或表达式。也就是说在old=new的条件下重新计算了表达式S。
3.综合使用
在定义syms符号变量后想带入求值使用subs
计算二阶导数后带入x的值
function r=myfun
a=input('please put a:\n');
syms x;
y=(a*exp(x))/((a+x^2)^(1/2));
D=diff(y,'x',2);
if a==2
z=3*a;
r=subs(D,x,z);
elseif a==3
z=2*a;
r=subs(D,x,z);
else
disp('wrong');
end
三、输入输出
在MATLAB中,可以使用input函数进行输入和disp函数进行输出。下面是它们的用法示例:
输入:
a = input('请输入变量 a 的值:');
上述代码将提示用户输入变量a的值,并将其存储在变量a中。
输出:
x = 2;
y = 3;
disp(['x 的值为:', num2str(x)]);
disp(['y 的值为:', num2str(y)]);
上述代码将输出变量x和y的值。
另一种输出方式是使用fprintf函数,它允许您以格式化的方式输出结果。下面是一个示例:
x = 2;
y = 3;
fprintf('x 的值为:%d\n', x);
fprintf('y 的值为:%d\n', y);
上述代码将以格式化的方式输出变量x和y的值。
四、积分微分
在MATLAB中,可以使用int函数进行积分计算,使用diff函数进行微分计算。下面是它们的用法示例:
1.积分:
syms x;
f = x^2 + 2*x + 1; % 要积分的函数
integral_result = int(f, x);
disp(['函数的积分结果为:', char(integral_result)]);
上述代码将计算函数f的积分,并将结果存储在integral_result变量中。使用disp函数输出积分结果。
一重积分:
q = integral(fun,xmin,xmax)
q = integral(fun,xmin,xmax,Name,Value)
q = integral(fun,xmin,xmax) 使用全局自适应积分和默认误差容限在 xmin 至 xmax 间以数值形式为函数 fun 求积分。
二重积分:
q = integral2(fun,xmin,xmax,ymin,ymax)
q = integral2(fun,xmin,xmax,ymin,ymax,Name,Value)
q = integral2(fun,xmin,xmax,ymin,ymax) 在平面区域 xmin ≤ x ≤ xmax 和 ymin(x) ≤ y ≤ ymax(x) 上逼近函数 z = fun(x,y) 的积分。
三重积分
q = integral3(fun,xmin,xmax,ymin,ymax,zmin,zmax)
q =integral3(fun,xmin,xmax,ymin,ymax,zmin,zmax,Name,Value)
q = integral3(fun,xmin,xmax,ymin,ymax,zmin,zmax) 在区域 xmin ≤ x ≤ xmax、ymin(x) ≤ y ≤ ymax(x) 和 zmin(x,y) ≤ z ≤ zmax(x,y) 逼近函数 z = fun(x,y,z) 的积分。
2.微分:
syms x;
f = x^2 + 2*x + 1; % 要微分的函数
diff_result = diff(f, x);
disp(['函数的微分结果为:', char(diff_result)]);
上述代码将计算函数f的导数,并将结果存储在diff_result变量中。使用disp函数输出导数结果。默认是一阶导数
diff(y,2):进行二阶导
diff(y,‘x’,2):对固定变量进行某阶导数
如果要进行数值积分或数值微分,可以使用integral函数和diff函数的数值版本。例如,integral用于数值积分,diff用于数值微分。
五、@符号的含义:
@符号通常用于创建匿名函数(anonymous function)匿名函数是一种没有显式名称的函数,可以在需要函数作为输入参数或需要快速定义简单函数的情况下使用。
f = @(x) x^2 + 2*x + 1;
在上述代码中,@(x)表示创建一个以x为输入参数的匿名函数。函数体
x^2 + 2*x + 1
定义了函数的操作。这样,我们将匿名函数赋值给变量f,以便稍后使用。
匿名函数可以像普通函数一样调用和使用。例如:
result = f(3);
disp(result);
上述代码将以3作为输入参数调用匿名函数f,并将结果存储在result变量中。然后,使用disp函数输出结果。
总结
今后会不断填入内容