How to input solution for the matrix in for loop.

1 Ansicht (letzte 30 Tage)
Aongart Wanna
Aongart Wanna am 11 Mai 2020
Beantwortet: drummer am 11 Mai 2020
I need to show the out put that are each the column matrix. See the code
clear all;
u=inline('exp(-t)*cos(pi.*x-pi/2)','x','t');
f=inline('cos(pi.*x-pi/2)','x');
h=[0.1 0.05 0.01], k=[0.1 0.05 0.01] %x-step size h, t-step size k
n=size(h,2);
a=0; b=1;
T=0.4;
for i=1:n
x=[a:h(i):b];
t=[0:k(i):T];
N=size(x,2);
M=size(t,2);
w(:,1)=f(x) % This is error !!
end
How do I write ? Thanks.

Antworten (1)

drummer
drummer am 11 Mai 2020
Not sure where your variable w came from.
MATLAB does not reccommend using inline anymore, according to its documentation.
It is not clear, at least for me, why you mentioned x and h steps as a vector...Do you have to use variable steps?
Ex: step 1 = 0.1 step 2 = 0.05 step 3 = 0.01 so, iteratively:
i = 1, x = 0.10
i = 2, x = 0.15
i = 3, x = 0.16
i=4, x = 0.51 ... and so on?
This is a quick solution that came to mind...
clear all;
step1 = 0.1;
step2 = 0.05;
step3 = 0.01;
n=9;
arraySum = zeros(n,1);
Sum = 0;
for i = 1:3:n % arraySum refers to your x interval. are the steps variable?
arraySum(i) = step1 + Sum;
arraySum(i+1) = arraySum(i+1)+step2+arraySum(i);
arraySum(i+2) = arraySum(i+1)+step3;
Sum = arraySum(i)+arraySum(i+1)+arraySum(i+2); % sum the previous values
end
x = arraySum
f = cos((pi/2).*x)
plot(f,x)
xlim([0 1])

Kategorien

Mehr zu Function Creation finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by