声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1374|回复: 6

[编程技巧] 一元函数的图像显示

[复制链接]
发表于 2006-6-3 11:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

[ 本帖最后由 ChaChing 于 2010-7-27 23:59 编辑 ]
1.bmp
回复
分享到:

使用道具 举报

发表于 2006-6-3 18:32 | 显示全部楼层
我觉得应该分解开吧,比如说先循环算出n×(n-1)(n-2)……这样?
发表于 2006-6-3 18:51 | 显示全部楼层
<P>我想要是把分子和分母都单独运算应该行的,尝试用符号运算然后再将符号转化为数值估计也可以,作的好会比直接用数值好。</P>
发表于 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=[y,a];
end
n=13:1000;
plot(n,y)
 楼主| 发表于 2006-6-3 19:58 | 显示全部楼层

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

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

[ 本帖最后由 ChaChing 于 2010-7-28 00:15 编辑 ]
发表于 2006-6-3 20:05 | 显示全部楼层
^_^,由见branch使用cumprod这个函数了。
顶一下。
发表于 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=[1 2 3 4]行累乘得[1 2 6 24]
a=middle(13)/sum(middle);得到总公式

[ 本帖最后由 ChaChing 于 2010-7-28 00:18 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-25 13:15 , Processed in 0.061444 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表