Szeretném beállítani a „Table” LUT paramétert egy grafikus felhasználói felületről:

Keresőtábla (n-D): ….. szimulink könyvtár blokk

Table data: wArray
Breakpoints 1:  ........

A következő kódot írom a visszahívás szerkesztése során a GUI-ban:

wNewVal = str2double(get(hObject,'String')); 
w=wNewVal;
wArray=[w w 0 0 -1*w -1*w 0 0]
set_param('SDH/Tp/w','Table','wArray')

hiba nélkül le tudom futtatni a kódot, de ha futtatom a szimulációmat, a következő hibaüzenetet kapom:

Error evaluating parameter 'Table' in 'SDH/Tp/w'
Caused by:
Undefined function or variable 'wArray'.

Lásd még ezt:

get_param('SDH/Tp/w','Table')
ans =
wArray

VÁLASZ

A "Matlabsolutions.com" a legfrissebb "MatLab Homework Help", "MatLab Assignment Help" szolgáltatást nyújtja diákoknak, mérnököknek és kutatóknak több ágazatban, például ECE, EEE, CSE, Mechanical, Civil 100%-os teljesítménnyel.Matlab Code for B.E, B.Tech ,M.E,M.Tech, Ph.D. Tudósok 100%-ban garantált magánélettel. Szerezzen MATLAB projekteket forráskóddal tanulásához és kutatásához.

Prashant Kumar válaszolt. 2021–10–11

A GUI Visszahívás kódja változókat hoz létre a visszahívási függvény munkaterületén. A szimulációt a függvényből vagy önállóan futtatod? Ha a függvény SIM-parancsával futtatja, használja a következő szintaxist:

options = simset('SrcWorkspace','current','DstWorkspace','current');
sim('mymdl', [0 duration], options)

Ellenkező esetben ügyeljen arra, hogy a „wArray” változó az alap munkaterületen legyen létrehozva, mert a modell ott keresi:

wNewVal = str2double(get(hObject,'String')); 
w=wNewVal;
wArray=[w w 0 0 -1*w -1*w 0 0];
assignin('base', 'wArray', wArray);
set_param('SDH/Tp/w','Table','wArray')

NÉZZE MEG A TELJES VÁLASZT, KATTINTSON A LINKRE