Why i am getting this error message
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
clc
s =str2double(get(handles.edit1,'string'));
in =str2double(get(handles.edit2,'string'));
en =str2double(get(handles.edit3,'string'));
t=s:in:en;
y=eval(get(handles.edit4,'string')); %line 181
figure(1)
plot(t,y)
title('Actual graph')
x=0;
y1 = zeros(1,(length(t)-1));
for i=1:(length(t)-1)
x=x+(y(1,i+1)*in);
y1(1,i)=x;
end
t1=s:in:(en-in);
figure(2)
plot(t1,y1)
title('After Intregation')

1 Commento
Christopher Wallace
il 25 Lug 2018
What is on line 181?
Please reformat the code in the question. It isn't possible to see where the lines end.
Risposta accettata
OCDER
il 25 Lug 2018
The error you're getting is probably caused by an invalid/empty string in handles.edit4. And DON'T use eval, esepecially in a GUI's editable text!
y = eval('')
Error: This statement is incomplete.
y = eval(get(handles.edit4,'string')); %DON'T USE EVAL! Security Risk!
% What if handles.edit4.string = 'delete(every_file)' ? You'll lose a lot of files!
What are you "evaluating"? Give us an example and we'll provide a safer and faster alternative to eval.
8 Commenti
OCDER
il 25 Lug 2018
I see. This clears up the blacklist vs whitelist approach. The other issue was what if the whitelist wasn't so obvious or is large? EX:
tanh(t) + sech(t) + ... more trig func
One way to get a larger whitelist would be:
SafeStr = arrayfun(@(x) strrep(x.name, '.m', ''), dir(fullfile(ctfroot, 'toolbox', 'matlab', 'elfun', '*.m')), 'un', 0)
Now more functions for trig are valid.
Walter Roberson
il 25 Lug 2018
Interesting approach.
Though this does accidentally bring in the script 'Contents' (which is effectively just a help file script.)
Più risposte (1)
Robiul Ferdous
il 26 Lug 2018
1 Commento
OCDER
il 26 Lug 2018
The Answer is reserved for answer to your original question. If this is a new error and new question, post a new question. Otherwise, no one will try to respond here as an Answer was already accepted.
Post full error message in you new question post. Read this:
Vedere anche
Categorie
Scopri di più su Variables in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!