% 参考matlab使用教程第四版 郑阿奇
clc
clear
%%
a=sin(2)
a2=sym(sin(2))
a3=sym('sin(2)')
syms x y
z=x+i*y
real(z)
f1=sym('a*x')
f=sym('2*x+3')
g=sym('-2*x+1')
%% 微分
syms x
f(x)=1/(1-x)+2/(1-1/4/x)
df=diff(f,x,1)
%%
% 积分
syms x
f(x)=(x-1)*(x-1)
f1=expand(f)
f2=simplify(f)
% f3=simple(f)
%代入自变量
f(1)
f4=finverse(f)
f5=int(f)
f6=int(f,'a','b')
%多重积分
syms x y z
f=x^2+y^2+z^2
f_int1=int(f,z,sqrt(x*y),x^2*y)
f_int2=int(f_int1,y,sqrt(x),x^2)
f_int3=int(f_int2,x,1,2)
%看符号变量的数值
F_int3=vpa(f_int3)
%%
% 级数求和
syms x k
s=symsum(1/k^2,k,1,inf)
s2=symsum(x^k,k,0,inf)
s3=taylor(exp(x),x,0)
%%
% 傅里叶变换
syms t w s
f(t)=dirac(t)
F=fourier(f,t,w)
F2=int(f(t)*exp(-i*w*t),t,-inf,inf)
f2=ifourier(F,w,t)
%%
% 拉氏变换
L=laplace(1,t,s)
syms t s
r=1
G=1/(s+1)+2/(s+1)
R=laplace(r,t,s)
C=G*R
c=ilaplace(C);
t=[0:0.1:7];
% 将数代入函数
y=subs(c,t);
plot(t,y)
%%
% Z变换
syms a n z t positive
x(n)=1
X(z)=ztrans(x,n,z)
xx(n)=iztrans(X)
x2(n)=a^n
X2(z)=ztrans(x2,n,z)
xx2=iztrans(X2)
%%
% 解代数方程
syms x y z
eq1=x^2+2*x+1==0
eq2=x+3*z==4
eq3=y*z==-1
[x,y,z]=solve(eq1,eq2,eq3,x,y,z)
s=solve(eq1,eq2,eq3,x,y,z)
% 解微分方程
s_g=dsolve('DY==3*Y-2*z','Dz=2*Y-z','x')
s_s=dsolve('DY==3*Y-2*z','Dz=2*Y-z','Y(0)=1,z(0)=0','x')
s_g.Y,s_g.z
s_s.Y,s_s.z
% syms a t
% eqn = diff(y,t) == a*y;
% dsolve(eqn)
% %% matlab 计算高考题 图通道
% %定义变量,全部声明为实数
% syms x y a k b real
% %求出a
% %求出a
% A = [2,1];
% eqn0 = a>1;
% eqn1 = subs(x^2/a^2 - y^2/(a^2-1) == 1,[x,y],A);
% a0 = solve([eqn0,eqn1],a)
% % a0 = 2^(1/2)
%
% %求直线与双曲线交点(讨论)
% %求直线与双曲线交点(讨论)
% eqn2 = subs(x^2/a^2 - y^2/(a^2-1) == 1,a,a0);
% eqn3 = y == k*x+b;
% intersection = solve([eqn2,eqn3],[x,y],'ReturnConditions',true);
% intersection_x = intersection.x;
% intersection_y = intersection.y;
% conditions = intersection.conditions % 求解时需要分类讨论
% % conditions =
% %
% % ? (k == -2^(1/2)/2 | k == 2^(1/2)/2) & b ~= 0
% %
% % ? k == 0
% %
% % ? k == 0
% %
% % ? k ~= -2^(1/2)/2 & k ~= 2^(1/2)/2 & 2*k^2 <= b^2 + 1 & k ~= 0
% %
% % ? k ~= -2^(1/2)/2 & k ~= 2^(1/2)/2 & 2*k^2 <= b^2 + 1 & k ~= 0
%
% %求斜率k,分类讨论
% %求斜率k,分类讨论
% % k ==0 (验证后无解)
% eqn4 = (intersection_y(3)-A(2))/(intersection_x(3)-A(1)) + (intersection_y(2)-A(2))/(intersection_x(2)-A(1)) == 0;
% S = solve([eqn4,conditions(2)],[k,b],'ReturnConditions',true);
% S.k
% S.b
% S.conditions;
% S.parameters;
%
% % k ~=0
% eqn4 = (intersection_y(4)-A(2))/(intersection_x(4)-A(1)) + (intersection_y(5)-A(2))/(intersection_x(5)-A(1)) == 0;
% S = solve([eqn4,conditions(4)],[k,b],'ReturnConditions',true);
% S.k
% S.b
% S.parameters;
% S.conditions
% % ? ans = Empty sym: 0-by-1
% %
% % ? ans = Empty sym: 0-by-1
% %
% % ? ans = -1
% %
% % ? ans = z
% %
% % ? ans = 1 < z & z < 3 | 3 < z | z <= -1
%
% %确定直线的截距b
% %确定直线的截距b
%
% intersection_x = subs(intersection_x,k,S.k);
% intersection_y = subs(intersection_y,k,S.k);
%
% PA = [intersection_x(4) intersection_y(4)]-A;
% QA = [intersection_x(5) intersection_y(5)]-A;
%
% COS = PA*transpose(QA)/norm(PA)/norm(QA);
% TAN = tan(acos(COS));
% eqn6 = TAN == 2*2^0.5;
% b0 = solve(eqn6,b)
% % b0 = 5/3
%
% %水平分割求面积
% %水平分割求面积
%
% eqn3 = subs(eqn3,[k b],[S.k b0]);
% eqn5 = x == A(1);
% H = solve([eqn3,eqn5],[x,y],'ReturnConditions',true);
% H.x;
% H.y;
%
% intersection_x = subs(intersection_x,b,b0);
% AREA = abs(0.5*(H.y - A(2))*(intersection_x(4)-A(1)))+abs(0.5*(H.y - A(2))*(intersection_x(5)-A(1)))
% %AREA = (16*2^(1/2))/9
matlab syms符号变量
于 2022-07-15 11:18:13 首次发布