奶牛 发表于 2008-3-4 21:36:03

问个编程的小问题,有谁知道阿

在做故障仿真模拟时遇到一个编程问题,我把它简化了如下:给定一个3*3矩阵:
a=[14   3
   12   1
   12   2];把第2列除以第1列同行的元素,如果大于4,就把该行的第3列的数置0。
我不太会编程,编了一个如下:
str=find(a(:,2)./a(:,1)==4);
a(str;3)=0;可是不行,有谁知道怎么编,谢谢!!!-%-53762-%-

qiuwei_002 发表于 2008-3-4 21:47:07

最后一个语句错了,a(str;3)=0应改为a(str,3)=0。::tongue::

haha61 发表于 2008-3-5 08:31:22

我把你原来数据里面一行二列改成5,这样可以看到变化;用循环的话还可以实现n*n数组:

a=;

for x=1:3
    y=a(x,2)./a(x,1);
    if y>4
      a(x,3)=0;
    end
end

a

奶牛 发表于 2008-3-5 10:20:04

ok,thx.

meng823222 发表于 2008-3-6 09:53:43

最后一个语句错了,a(str;3)=0应改为a(str,3)=0。
二楼很聪明啊呵呵

jinandb2 发表于 2008-3-9 15:48:55

这是什么语法啊?计算机编程语言俺还懂一点,就上面的怎么一个都不知道啊?

wangyiting22 发表于 2009-4-12 14:04:18

学习,编程好像难呢

baobaoly 发表于 2009-4-13 08:58:09

6# jinandb2


6楼的,这是matlab,有矩阵的

wangmuyidong 发表于 2009-4-13 12:21:04

3# haha61


人家本来就是一个标点能错了,但是你用循环来给人解释,会害死人的;MATLAB语言的有点就是矩阵运算啊,find函数就可以处理好多的操作啊,还是人家本来的思路正确

automated 发表于 2009-4-13 21:14:07

太牛了,matlab连微积分和微分方程都能解啊!中国人就是太缺乏想法了
页: [1] 2
查看完整版本: 问个编程的小问题,有谁知道阿

招聘斑竹