Effacer les filtres
Effacer les filtres

Cannot find 'set' method for .... class

15 vues (au cours des 30 derniers jours)
Yves
Yves le 15 Déc 2017
Matlab complains about a set method that has already been defined. The error message is, when I type in the command:
set(a, 'prop1', 1)
"Error using set. Cannot find 'set' method for aSimpleValueClass class".
classdef aSimpleValueClass
properties
prop1
end
methods
function obj = set.prop1(obj, x)
obj.prop1 = x;
end
end
end
Can someone tell me why?

Réponse acceptée

Walter Roberson
Walter Roberson le 15 Déc 2017
You would need to have defined a method named set for that case. The set.prop1 method is called for the case where you use
a.prop1 = value
  8 commentaires
Yves
Yves le 15 Déc 2017
Ahh...I see. Thx, Guillaume.
Giuseppe Degan Di Dieco
Giuseppe Degan Di Dieco le 21 Oct 2021
Also, thanks by me!
Best!

Connectez-vous pour commenter.

Plus de réponses (2)

sneha pc
sneha pc le 3 Mai 2020
error- set is not comaptable with sym class. what to do
M = 0.5;
m = 0.2;
b = 0.1;
I = 0.006;
g = 9.8;
l = 0.3;
q = (M+m)*(I+m*l^2)-(m*l)^2;
syms s
Ppend=((m*l*s^2)/q)/(s^4+(b*(I+m*l^2)*s^3)/q-((M+m)*m*g*l*s^2)/q-(b*m*g*l*s)/q);
disp(Ppend);
Pcart=(((I+m*l^2)*s^2-g*m*l)/q)/(s^4+(b*(I+m*l^2)*s^3)/q-((M+m)*m*g*l*s^2)/q-(b*m*g*l*s)/q);
disp(Pcart)
sys_tf = [P_cart ; P_pend];
inputs = {'u'};
outputs = {'x'; 'phi'};
set(sys_tf,'InputName',inputs)
set(sys_tf,'OutputName',outputs)
sys_tf;

Walter Roberson
Walter Roberson le 3 Mai 2020
You created a symbolic expression that looks like a transfer function, and you are expecting that it is suddenly the transfer function datatype instead of being symbolic.
You should use the routine in this link:
https://www.mathworks.com/matlabcentral/mlc-downloads/downloads/submissions/26553/versions/2/previews/sym2tf.m/index.html

Community Treasure Hunt

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

Start Hunting!

Translated by