2017-07-13 54 views
0

data=[ 20 25 30 35 40];和用於我的數據向量,其中是u=[0.5 0.8 1];特定值的向量u的矩陣一個矩陣的值,並且我想從矢量u 訪問值對數據向量的每個元素計算並在如何訪問coresponding爲其它值

b=data+u 
c=data.*u 

我在MATLAB寫了這個程序

data=[ 20 25 30 35 40]; 
u=[0.5 0.8 1]; 
i=0; 
if (data(i+1)<=25) 
    u=0.5; 
elseif (data(i+1)>25 || data(i+1)<35) 
    u=0.8; 
else (data(i+1)>35) 
    u=1; 
end 
b=data+u 
c=data.*u 

BU的ac我沒有找到正確的答案,你能幫我正確寫下來嗎?

+2

請提一下你現在的代碼有什麼問題。也嘗試使用matlab調試器來更好地理解問題。 – m7913d

+0

對不起,但我第一次使用matlab這就是爲什麼不知道太多處理錯誤.. – merab

回答

1
data=[ 20 25 30 35 40]; 
u=[0.5 0.8 1]; 

for i = 1:length(data) 
    if (data(i)<=25) 
     u_idx=1 
    elseif (data(i)>25 & data(i)<=35) 
     u_idx=2; 
    else (data(i)>35) 
     u_idx=3; 
    end 

    b(i)=data(i)+u(u_idx); 
    c(i)=data(i).*u(u_idx); 

end 
+0

非常感謝你這個程序給我正確的輸出,我想... – merab

+0

太棒了!如果您有機會,請接受答案,以便其他人知道此問題已解決。 謝謝! – Flynn