I have a multidimensional variable SC (1x1x104) which is storage capacity for a region from 2004 to 2012. I want to subtract current cell values from previous values so I can get a whole new variable TSC. I tried using the for loop code below but it didn't give the desired result. I hope someone can help with this. Thanks!
for t=1:length(SC); TSC=SC-(SC(:,:,t)-1)./t; end

回答 (1 件)

KSSV
KSSV 2018 年 7 月 18 日

1 投票

TSC = cell(1,103) ;
for i = 1:103
TSC{i} = SC{1,1,i}-SC{1,1,i+1} ;
end

3 件のコメント

Dorcas Oluwabimpe Idowu
Dorcas Oluwabimpe Idowu 2018 年 7 月 18 日
編集済み: Dorcas Oluwabimpe Idowu 2018 年 7 月 18 日
Hi, I ran the code and got this error message,
Cell contents reference from a non-cell array object. Is there something I ought to have done?
Stephen23
Stephen23 2018 年 7 月 19 日
@Dorcas Oluwabimpe Idowu: your question clearly states that you have cells of a cell array, and so KSSV's answer gives you a solution for cell arrays. But apparently actually you don't have a cell array at all, probably you have a numeric array. Please show us the output of this command:
whos SC
Dorcas Oluwabimpe Idowu
Dorcas Oluwabimpe Idowu 2018 年 7 月 19 日
I'm sorry about the mix up in my question. Actually, what I want to achieve is to solve this equation;
TSC=SC(t)-SC(t-1)/change in t.
The SC file is a multidimensional matrix with lat, lon and time dimensions.
I have attached the output of the command in my previous question to this question.

サインインしてコメントする。

カテゴリ

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by