Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-11-01, 14:59   #1
huanghuan
初级会员
 
注册日期: 2008-10-09
年龄: 37
帖子: 26
声望力: 17
huanghuan 正向着好的方向发展
默认 [求助]程序出错了,请帮帮忙

题目如下:
设计一个函数文件,要求输入一个方阵,该函数能统计出方阵中大于0,等于0和小于0的元素的个数。

程序如下:

function [a]=num(b)
b=rand(i,j)
syms n
for i=0:n
j=i
k=0 %k为等于0元素的个数
l=0 %l为大于0元素的个数
m=0 %m为小于0元素的个数
for h=0:i
s=0:j
if b(h,s)==0
k=k+1;
else if b(h,s)>0
l=l+1;
else b(h,s)<0
m=m+1;
end
end
k
end
l
end
m
运行时出现这样的提示:
??? Unable to find subsindex function for class sym.

Error in ==> C:\MATLAB6p5\work\num.m
On line 11 ==> if b(h,s)==0
这是怎么回事呀?
huanghuan 当前离线   回复时引用此帖
旧 2008-11-02, 08:08   #2
anbcjys
高级会员
 
注册日期: 2008-09-14
年龄: 43
帖子: 351
声望力: 24
anbcjys 正向着好的方向发展
默认 回复: [求助]程序出错了,请帮帮忙

你这个程序估计自己都不知道要干什么?syms要实现什么目的?b=rand 又是怎么回事?ij怎么来的?
__________________
qq604443022
anbcjys 当前离线   回复时引用此帖
旧 2008-11-02, 21:50   #3
meteora1005
高级会员
 
注册日期: 2008-05-31
年龄: 38
帖子: 104
声望力: 19
meteora1005 正向着好的方向发展
默认 回复: [求助]程序出错了,请帮帮忙

其实这个函数几句话就能搞定:
function n=num(b)

n=ones(3,1);
n(1)=length(find(b>0));
n(2)=length(find(b=0));
n(3)=length(find(b<0));
既然你用matlab编程,就应该用matlab的思想来思考。
meteora1005 当前离线   回复时引用此帖
旧 2008-11-03, 02:10   #4
guofeng0108
高级会员
 
注册日期: 2008-10-21
年龄: 40
帖子: 198
声望力: 22
guofeng0108 正向着好的方向发展guofeng0108 正向着好的方向发展
默认 回复: [求助]程序出错了,请帮帮忙

三楼说的没有错!!!
要充分发挥MATLAB的简洁性!!
__________________
matlab太高深了!!!!!!!:ft:
guofeng0108 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 15:22


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.