tongxin28 发表于 2006-6-3 11:32

一元函数的图像显示

此函数是y关与n(其实是x)的一元函数,n(既x)取值0:1000,就是运算量有点大,小弟刚学matlab,不太清楚要是想显示此函数的图像,该如何输入此函数,只知道最后用plot(x,y),请高手不吝指教一下。
为难各位了,表达式如何输入啊?

[ 本帖最后由 ChaChing 于 2010-7-27 23:59 编辑 ]

ericlin 发表于 2006-6-3 18:32

我觉得应该分解开吧,比如说先循环算出n×(n-1)(n-2)……这样?

wei343 发表于 2006-6-3 18:51

<P>我想要是把分子和分母都单独运算应该行的,尝试用符号运算然后再将符号转化为数值估计也可以,作的好会比直接用数值好。</P>

branch 发表于 2006-6-3 19:31

function doing()
y=[];
for n=13:1000
midst=ones(1,13);
for i=1:13
midst(1,i)=(n-i)*10/(i*n);
end
middle=cumprod(midst);
a=middle(13)/sum(middle);
y=;
end
n=13:1000;
plot(n,y)

tongxin28 发表于 2006-6-3 19:58

回复:(branch)function doing()y=[];for n=13:100...

感谢楼上的 ,我验证一下!
感谢branch,经验证很ok。帮小弟解释其中的几条主要语句吧。

[ 本帖最后由 ChaChing 于 2010-7-28 00:15 编辑 ]

ericlin 发表于 2006-6-3 20:05

^_^,由见branch使用cumprod这个函数了。
顶一下。

branch 发表于 2006-6-4 13:27

呵呵,cumprod这比较好用啊

midst=ones(1,13);可省去
for i=1:13
midst(1,i)=(n-i)*10/(i*n);循环赋值,产生一个矩阵元素为每相乘数
end
middle=cumprod(midst);一维行累乘,如对a=行累乘得
a=middle(13)/sum(middle);得到总公式

[ 本帖最后由 ChaChing 于 2010-7-28 00:18 编辑 ]
页: [1]
查看完整版本: 一元函数的图像显示