MATLAB Answers

Is it possible to write to a MATLAB workspace parameter from within a TLC file?

3 ビュー (過去 30 日間)
David
David 2012 年 10 月 1 日
回答済み: Juan Reyes 2016 年 7 月 15 日
I'm generating a level-2 matlab s-function based on a m file and it is working perfectly since I'm able to modify workspace variable from m file.
However, when I generate code or simulate in accelerator mode, I need to provide a tlc file that does the same thing than the m file and I have hard time to do so. I'm not able to modify a workspace variable from the tlc.
I tried the following :
%assign b = FEVAL("evalin","base","var1 = 10")
Thanks for your help.
David.

回答 (2 件)

Kaustubha Govind
Kaustubha Govind 2012 年 10 月 1 日
編集済み: Kaustubha Govind 2012 年 10 月 1 日
I'm guessing this is not working, because you are doing the equivalent of:
>> b = evalin('base','var1 = 10')
When executed in the MATLAB command window, I see this error:
>> b = evalin('base','var1 = 10')
Error: The expression to the left of the equals sign is not a valid target for an assignment.
Try just:
%<FEVAL("evalin","base","var1 = 10;")>
  2 件のコメント
Kaustubha Govind
Kaustubha Govind 2012 年 10 月 2 日
David: What exactly is the code generating around line#33 of two_acc.c? This file may be hard to read, so I would recommend performing a regular code-generation (Ctrl+B) and see if you can reproduce the same error?

サインインしてコメントする。


Juan Reyes
Juan Reyes 2016 年 7 月 15 日
I had the same problem. Try this inside your TLC code:
%matlab assignin("base", "YourWorkspaceVar", %<foo> )
base: Matlab's base workspace; YourWorkspaceVar: Workspace new variable; foo: a variable inside the TLC workspace to be exported to base workspace;

Community Treasure Hunt

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

Start Hunting!

Translated by