MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]程序出错了,请帮帮忙 (https://www.labfans.com/bbs/showthread.php?t=5098)

huanghuan 2008-11-01 14:59

[求助]程序出错了,请帮帮忙
 
题目如下:
设计一个函数文件,要求输入一个方阵,该函数能统计出方阵中大于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
这是怎么回事呀?

anbcjys 2008-11-02 08:08

回复: [求助]程序出错了,请帮帮忙
 
你这个程序估计自己都不知道要干什么?syms要实现什么目的?b=rand 又是怎么回事?ij怎么来的?

meteora1005 2008-11-02 21:50

回复: [求助]程序出错了,请帮帮忙
 
其实这个函数几句话就能搞定:
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的思想来思考。

guofeng0108 2008-11-03 02:10

回复: [求助]程序出错了,请帮帮忙
 
三楼说的没有错!!!
要充分发挥MATLAB的简洁性!!


所有时间均为北京时间。现在的时间是 14:29

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