How to make a function output a matrix
7 views (last 30 days)
Show older comments
Petch Anuwutthinawin
on 17 Jun 2021
Answered: SALAH ALRABEEI
on 17 Jun 2021
I am trying to make a function that takes in multiple variables and outputs a matrix of values. The inputs are supposed to plug into the equation V, and output a matrix. My problem is that this outputs a vector instead of a matrix. How do I make it output a matrix?
function T = prob3_5(x,y,N,L,W,T1,T2)
V=zeros(1,length(x));
for n=1:2:N
for i=1:length(x)
V(i)=V(i)+(2/pi)*(2/n)*sin(n*pi*x(i)/L).*sinh(n*pi*y(i)/L)/sinh(n*pi*W/L);
end
T=(T2-T1)*V+T1;
end
3 Comments
SALAH ALRABEEI
on 17 Jun 2021
% This is a Fourier series why do you want a matrix, it is just an array
% because you just summing up the solution at each point of x and y.
% The output is vector because T is V and V is defined as a vector V=zeros(1,length(x));
Accepted Answer
SALAH ALRABEEI
on 17 Jun 2021
I think you need only one loop that accomulate the series. I am assuming x and y are sent to the function as vectors, then we creat grid out of them
T = prob3_5(x,y,N,L,W,T1,T2)
[x,y]=meshgrid(x,y);
V=zeros(size(x));
for n=1:2:N
V=V+(2/pi)*(2/n)*sin(n*pi*x/L).*sinh(n*pi*y/L)./sinh(n*pi*W/L);
T=(T2-T1)*V+T1;
end
0 Comments
More Answers (0)
See Also
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!