How can I have multiple outputs for a function evaluating various elements?
    조회 수: 3 (최근 30일)
  
       이전 댓글 표시
    
Hi! I'm new into this. I'm writing a function file and I want to be able to input a vector, evaluate each element with the same function and obtain an output that has each element's result. Here is what I'm writing:
function IF=myfunction(P,T)
a=1.28+15*(1/P+0.05)+exp(100/T)
IF=500+a
display (IF)
end
My inputs are P=[10 20] and T=[30 40] and it has an error saying "error using mrdivide; matrix dimensions must agree".
댓글 수: 0
채택된 답변
  madhan ravi
      
      
 2018년 8월 31일
        
      편집: madhan ravi
      
      
 2018년 8월 31일
  
      function IF=myfunction(P,T)
a=1.28+15.*(1./P+0.05)+exp(100./T); %USE ELEMENT-WISE OPERATIONS
IF=500+a;
disp(IF) %not Display it’s disp 
end
댓글 수: 4
  Image Analyst
      
      
 2018년 8월 31일
				The 3 lines in this function can all be combined into a single line like I showed in my solution below.
You use dot slash, dot star, or dot caret when you're want element-by-element multiplication of corresponding array elements at the same index. If you don't you're doing matrix operations, like a matrix multiplication that is the sum of rows from one times columns of the second.
  madhan ravi
      
      
 2018년 9월 1일
				
      편집: madhan ravi
      
      
 2018년 9월 1일
  
			@Eduardo Chacin like also sir Image Analyst said in addition read the link below for better understanding element wise operations:
추가 답변 (1개)
  Image Analyst
      
      
 2018년 8월 31일
        Use dot slash like this:
function IF = myfunction(P, T)
IF = 501.28 + 15 * (1 ./ P + 0.05) + exp(100 ./ T)
end
댓글 수: 0
참고 항목
카테고리
				Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


