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

Antworten (1)

KSSV
KSSV am 18 Jul. 2018

1 Stimme

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

3 Kommentare

Dorcas Oluwabimpe Idowu
Dorcas Oluwabimpe Idowu am 18 Jul. 2018
Bearbeitet: Dorcas Oluwabimpe Idowu am 18 Jul. 2018
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 am 19 Jul. 2018
@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 am 19 Jul. 2018
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.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by