PDA

查看完整版本 : [MATLAB混合编程] 这个函数曲线怎样绘制?


RobinLC
2009-04-19, 15:23
我现在有力与速度之间的函数表达式,但是我需要得到力与位移之间的函数曲线,请问该怎么办?
(表达式中的所以B和C都是已知常数,只有力F和速度S一点是未知的)
多谢~

麒麟子
2009-04-20, 07:38
或许可以这样试试
先用int函数求出位移s与f的关系
然后用ezplot函数画出其与f之间的关系图
example
ezplot('x.*y + x.^2 - y.^2 - 1')

RobinLC
2009-04-21, 22:48
我现在知道了路程S和速度S一点的表达式,请问怎么得到F与S的关系曲线?

B1=1.5496*10^-11;
B2=2.0276*10^-12;
B3=2.7347*10^-8;
B4=1.4548*10^-5;
C=3.7625*10^-3;
C1=3.7626*10^-3;
w=2*pi*1.27;
syms s;
sv=A*w*cos(w*t);
s=A*sin(w*t);
F=C*((B3+B4)^2+2^(B1+B2)*C1*sv-(B3+B4)*sqrt((B3+B4)^2+4*(B1+B2)*C1*sv))/(2*(B1+B2)^2);
ezplot(F)

这里我用C1表示函数中C头上加一个线,sv表示速度S一点。
运行提示说

??? Attempt to execute SCRIPT a as a function.

Error in ==> C:\Program Files\MATLAB\mine\shigongtu.m
On line 9 ==> sv=A*w*cos(w*t);

请问该怎么改?请教大家了

lfssirius
2009-04-22, 13:23
sv=A*w*cos(w*t);
s=A*sin(w*t);
这两句中的A是代表什么的?:o

RobinLC
2009-04-22, 13:57
A可以按常数取,这里我取了0.6,于是把程序改成这样

B1=1.5496*10^-11;
B2=2.0276*10^-12;
B3=2.7347*10^-8;
B4=1.4548*10^-5;
C=3.7625*10^-3;
C1=3.7626*10^-3;
w=2*pi*1.27;
syms s t sv;
F=C*((B3+B4)^2+2^(B1+B2)*C1*sv-(B3+B4)*sqrt((B3+B4)^2+4*(B1+B2)*C1*sv))/(2*(B1+B2)^2);
sv=0.6*w*cos(w*t);
s=0.6*sin(w*t);
ezplot(F)

结果得到的是F与sv的关系曲线,我需要得到F与S的关系曲线,应该怎么办?

RobinLC
2009-04-24, 09:41
有朋友知道吗?
请教了,谢谢