在matlab中画m的曲线,方程式如:m=1/sqrt({1+[(1/k)*[1-(1/x)^2]}^2+{[x-(1/x)]*Q}^2) 变量为k x Q现在我先让k 和Q为常数,如k=7,Q=3,然后做m与x的图像程序如下:x=0:0.01:2Q=3k=7c=1./xa=1+(1/7)*(1-c.^2)b=(x-1./x).*Qc=sqrt(a.^2
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/22 21:58:51
在matlab中画m的曲线,方程式如:m=1/sqrt({1+[(1/k)*[1-(1/x)^2]}^2+{[x-(1/x)]*Q}^2) 变量为k x Q现在我先让k 和Q为常数,如k=7,Q=3,然后做m与x的图像程序如下:x=0:0.01:2Q=3k=7c=1./xa=1+(1/7)*(1-c.^2)b=(x-1./x).*Qc=sqrt(a.^2
在matlab中画m的曲线,方程式如:m=1/sqrt({1+[(1/k)*[1-(1/x)^2]}^2+{[x-(1/x)]*Q}^2) 变量为k x Q
现在我先让k 和Q为常数,如k=7,Q=3,然后做m与x的图像
程序如下:
x=0:0.01:2
Q=3
k=7
c=1./x
a=1+(1/7)*(1-c.^2)
b=(x-1./x).*Q
c=sqrt(a.^2+b.^2)
m=1./c
plot(x,m,'r')
[maxm,maxx]=max(m)
[minm,minx]=min(m)
hold on
plot(x(maxx),maxm,'b*')
hold on
text(x(maxx),maxm,num2str(maxm))
我的问题是:让K为常数,比如K=7,使Q=0.1、 0.2、 0.3、 0.4 1等任意的数,如何编程绘制这样的曲线。就是在同一坐标系下绘制Q=0.1、 0.2、 0.3、 0.4 1等数条曲线,横坐标还是x,纵坐标还是m。
在matlab中画m的曲线,方程式如:m=1/sqrt({1+[(1/k)*[1-(1/x)^2]}^2+{[x-(1/x)]*Q}^2) 变量为k x Q现在我先让k 和Q为常数,如k=7,Q=3,然后做m与x的图像程序如下:x=0:0.01:2Q=3k=7c=1./xa=1+(1/7)*(1-c.^2)b=(x-1./x).*Qc=sqrt(a.^2
将下面文件保存为函数文件s.m
function s(Q)
x=0:0.01:2;
k=7;
c=1./x;
a=1+(1/7)*(1-c.^2);
b=(x-1./x).*Q;
c=sqrt(a.^2+b.^2);
m=1./c;
[maxm,maxx]=max(m);
[minm,minx]=min(m);
plot(x,m,'r')
hold on
plot(x(maxx),maxm,'b*')
hold on
text(x(maxx),maxm,num2str(maxm))
然后在命令窗口或其他M文件中调用即可.
>> s(0.1)
>> s(0.2)
>> s(0.3)
212121
121212