在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)... 现在我先让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。
展开
流星日食
2011-12-22 · TA获得超过1056个赞
知道小有建树答主
回答量:287
采纳率:83%
帮助的人:246万
展开全部

将下面文件保存为函数文件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)

追问
请问怎么写这个调用函数啊?
追答
你可以直接在comman window里面输入s(0.1)运行,再输入s(0.2)运行。。依次进行就行了。
也可以新建M文件,在里面输入
s(0.1)
s(0.2)
s(0.3)
然后运行也能实现。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-12-22
展开全部
212121
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
访问发货88
2011-12-22
知道答主
回答量:3
采纳率:0%
帮助的人:4892
展开全部
121212
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式