找回密码
 注册
Simdroid-非首页
查看: 148|回复: 7

MATLAB求和命令流

[复制链接]
发表于 2011-3-23 14:16:45 | 显示全部楼层 |阅读模式 来自 四川成都
sun=0;
for i=1:10,
    part=1;
    for j=1:i,
        part=part*j;
    end
    fprintf{'part(%d)=%d.\n',i,part};
    sum=sum+part;
end
fprintf('the total sum is %d.\n',sum);

这个命令流运行后出现错误  

??? The function, script, or class fprintf
cannot be indexed using {} or . indexing.
Error in ==> forsum at 7
    fprintf{'part(%d)=%d.\n',i,part};
>>

请求大神帮忙看下,这是咋回事啊!
发表于 2011-3-23 14:41:05 | 显示全部楼层 来自 陕西西安
Simdroid开发平台
1# 千亿星辰
既然matlab都提示你了不能用{}了,你就该查一查fprintf的格式了么?
还有第一个变量名给错了吧?

  1. sum=0;
  2. for i=1:10,
  3.     part=1;
  4.     for j=1:i,
  5.         part=part*j;
  6.     end
  7.     fprintf('part(%d)=%d.\n',i,part);
  8.     sum=sum+part;
  9. end
  10. fprintf('the total sum is %d.\n',sum);
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2011-3-23 14:53:00 | 显示全部楼层 来自 河北廊坊
  1. clear;clc;close all
  2. n = 10;
  3. fprintf('part(%d)=%d\n',[1:n;factorial(1:n)]);
  4. fprintf('the total sum is %d\n',sum(factorial(1:n)));
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2011-3-23 15:18:19 | 显示全部楼层 来自 四川成都
谢谢mhkmars ,但是运行后还是有问题,这是运行结果> forsum
part(1)=1.
??? Error using ==> sum
Not enough input arguments.

Error in ==> sum at 41
  [varargout{1:nargout}] = builtin('sum', varargin{:});

Error in ==> forsum at 8
    sum=sum+part;



谢谢qibbxxt ,你写的我看不懂啊!能不能把你写的程序再介绍一下啊??嘿嘿  本人是初学者!
回复 不支持

使用道具 举报

发表于 2011-3-23 15:34:29 | 显示全部楼层 来自 陕西西安
4# 千亿星辰
因为matlab里本身有个函数就是sum,所以有可能你的变量名用这个会引起歧义,建议你换成summ之类的。你再试试。不过在我这里没有问题,估计是不是你的版本比较低。
回复 不支持

使用道具 举报

 楼主| 发表于 2011-3-23 15:53:29 | 显示全部楼层 来自 四川成都
呵呵呵   感谢奥,弄好了 可能是版本太低
回复 不支持

使用道具 举报

发表于 2011-3-24 09:53:01 | 显示全部楼层 来自 山西太原
sum1=0;
for i=1:10,
    part=1;
    for j=1:i,
        part=part*j;
    end
    fprintf('part(%d)=%d.\n',i,part);
    sum1=sum1+part;
end
fprintf('the total sum is %d.\n',sum1);

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2011-3-25 19:20:47 | 显示全部楼层 来自 安徽铜陵
sum1=0;
for i=1:10,
    part=1;
    for j=1:i,
        part=part*j;
    end
    fprintf('part(%d)=%d.\n',i,part);
    sum1=sum1+part;
end
fprintf('the total sum is %d.\n',sum1);

评分

1

查看全部评分

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-4 23:23 , Processed in 0.040489 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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