当前位置:编程学习 > Matlab >>

Matlab求解一简单方程,请把m文件代码贴上,多谢啦!

k,t是常数, theta是未知数 a=0:2:35 S=k*tan(theta) T=a^2*dS/d(theta) 这个d是微分 theta=T/t; plot(theta, a)
补充:我只需要画出theta对a的函数图象。a的赋值方法见第一行。为了验证代码,可以给k和t
追问:
        	
				
我不需要解析解啊,我只需要画出theta对a的函数图象。另外a是一个矩阵,代码里不需要写成a.吗?能不能帮我改一下你的代码?多谢
syms x k t a
S=k*tan(x);
T=a^2*diff(S,x);%这个d是微分
f=solve(x-T/t,'a');
k=2;t=3;f=subs(f);
fplot(@(x)eval(f(1)),[0,50])
x=0:0.1:50;
a=0:2:10;
for a=0:2:10
y=0*x+a;
hold on;
plot(x,y)%交点坐标(theta,a)
end

ya=@(x)eval(f(1));
x=0:0.01:50;
fa=feval(ya,x);
figure;
for a=0:2:10
y=0*x+a;
[x0,y0] = intersections(x,fa,x,y);
plot(x0,y0,'or')%交点坐标(theta,a)
hold on
end
这个结果不对啊。最后做出的结果应该类似这样。见附图
不好意思这么麻烦你,如果过能帮我做出来我再追加20分给你好吗?
你自己好好研究下这个方程,显然他有无穷多的解,你画得只是一组解而已
答案:>> clear
>> syms theta k t a
S=k*tan(theta)
T=a^2*diff(S,theta)%这个d是微分
solve(theta-T/t,'theta')
 
S =
 
k*tan(theta)
 
 
T =
 
a^2*k*(tan(theta)^2 + 1)
 
Warning: Explicit solution could not be found. 
没有解析的解 

可以用数值的解法解 不过要指定 k t

上一个:谁有matlab中ideal_bp1的函数代码,急求
下一个:matlab求不定积分代码

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,