![ba4b37ef46ef7934086d2b3672ae3914.png](https://i-blog.csdnimg.cn/blog_migrate/aeed90dd3a9844eafe02bc2997b8af7b.jpeg)
大家好,这里是茹小依,这是我的第二个专栏,如果对c++竞赛(远远不是ACM那种级别的,大佬手下留情)感兴趣可以关注我的第一个专栏《编程小谈》。这次封面想不到放啥了,就放了自己的画,如果有喜欢画画的也可以一起交流的!
我整理了一些本科阶段可能接触到的MATLAB的命令,这次是关于符号变量的命令,我们一起来看看吧:(逐渐棒读)
%函数&符号运算的基本内容
%-----------------变量代换-----------------
syms a c b w t
f=a*3+b;
f1=subs(f,[a,b],[1,2]);%数值
f2=subs(f,[a,b],[log(t),sin(w)]);%含参表达式
f3=subs(f,a,1:4);%数组
%subs(S,old,new)将符号表达式中的old变量换成new
%old 一定是S中的符号变量 new 可以是符号变量 双精度数值 数值数组等等
%若要用多个数组替换多个变量,则可运用循环的方式
for a=1:3
for x=1:4
f4=a*sin(x)+b;%运算时去掉“;”ans显示在屏幕上
end
end
%---------------------数据类型转换-----------------------------
a=sym('sqrt(3)');%符号常量
ans1=double(a);
class(ans1);%显示ans1的数据类型
b=sym('exp(3.21)');
ans2=vpa(b,8);%求b的8精度数值解,得到的也是一个符号对象
%注:digits(a)可以直接设置精度解,a表示保留有效数字
%-----------------------符号表达式化简运算----------------------
clear x
syms x;
f5=x^3+x^2-x-1;
f6=factor(f5);%因式分解
clear x
syms x y;
f7=(x+y)^3;
f8=expand(f7);%展开表达式
f9=a*x^3+b*x^3;
f10=collect(f9,x^3);%同类项合并x^3
f11=sin(x)^2+cos(x)^2;
f12=simplify(f11);
f13=exp(c*log(a));
% [f14,how]=simple(f13)%对f13化简,how为化简方法
%simple此方法不适用于低版本,仅在最新的版本有效
f15=a/b+c/t;
[fz,fm]=numden(f15);%fz fm返回sym值
f16=fz/fm;%通分
感谢观看