I have an m file creating MTPA (Maximum Torque Per Ampere) curve. In simulink model I have a constantly changing input that needs to select the data according to the curve. But I haven't seen any possible way to do this, please help me...

 채택된 답변

Mischa Kim
Mischa Kim 2014년 3월 21일

0 개 추천

Sreerag, have you looked into lookup tables?

댓글 수: 4

I have. But the problem is I haven't seen any way to incorporate the m file into the look up table. I am new to this, so please help me out
Of course, if you already have an m-file that creates the curve (and if that's all you need) you can use the function itself as the lookup table. From the Simulink library "User-Defined Functions" pick a MATLAB function block (in earlier MATLAB releases the block used to be called Embedded MATLAB function), open it and insert the MATLAB code. E.g.
function out = myLookup(in)
out = sin(in);
end
But still there is a problem. I have the m file that creates the curve. I need to get the y axis data from the curve as output with respect to the input data. Is that possible??
Mischa Kim
Mischa Kim 2014년 3월 21일
편집: Mischa Kim 2014년 3월 21일
Sure, see the example above. in would be your input value ( x ), the sine is the curve (replace with your curve), out is the corresponding output value ( y ). For each input value you get one corresponding output value, continuously changing the input will result in the corresponding output signal based on the curve.
And, of course, the curve does not need to be a nice, smooth one, as the sine above. That is, you can also, e.g., if-else or switch commands to construct the curve.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

zhenyu jia
zhenyu jia 2017년 6월 7일

0 개 추천

hello, could you send me the m file? thank you very much!

카테고리

도움말 센터File Exchange에서 Event Functions에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by