MATLAB Answers

How to make a function output a matrix

10 views (last 30 days)
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
Petch Anuwutthinawin
Petch Anuwutthinawin on 17 Jun 2021
the answer should have the same number of columns as elements in X, and the same number of rows as elements in Y.

Sign in to comment.

Accepted Answer

SALAH ALRABEEI
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

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by