Tag Archives: matlab
Error using trainNetwork: Predictors must be a N-by-1 cell array of sequences
Hello MATLAB friends,
I’m working on a project involving time series prediction using a Gated Recurrent Unit (GRU) model. The goal is to predict whether a stock will be a ‘winning’ or ‘losing’ stock based on historical data.
However, I’m encountering an error when trying to train the network using the trainNetwork function. The error message is:
Error using trainNetwork
Invalid training data. Predictors must be a N-by-1 cell array of sequences, where N is the number of sequences. All sequences must have the same feature dimension and at least one time step.
Here’s the relevant portion of my code:
% Initialize cell arrays to store training and testing features and labels
training_features = {};
training_labels = {};
testing_features = {};
testing_labels = {};
% Process each CSV file in the combined_stocks table
for f = 1:height(combined_stocks)
% Load data from CSV file using readtable
data = readtable(fullfile(directory_path, combined_stocks.Stock(f)), ‘VariableNamingRule’, ‘preserve’);
% Selecting the required features
features = data{:, {‘open’, ‘high’, ‘low’, ‘close’, ‘MA’, ‘MA_1’}};
% Normalizing the close prices
normalized_close = (data.close – min(data.close)) / (max(data.close) – min(data.close));
% Calculating logarithmic close prices
log_close = log(data.close);
% Combine all features into a matrix
features = [features, normalized_close, log_close];
% Determine the label for the current stock
if combined_stocks.Maximum_Profit(f) > 0
labels = ones(height(data), 1); % Winning class
else
labels = zeros(height(data), 1); % Losing class
end
% Convert labels to categorical
labels = categorical(labels);
% Generate a random permutation of indices
indices = randperm(size(features, 1));
% Split the data into 70% training and 30% testing
split_point = round(size(features, 1) * 0.7);
training_indices = indices(1:split_point);
testing_indices = indices(split_point+1:end);
% Append the training and testing features and labels to the respective arrays
training_features = [training_features; {features(training_indices, :)}];
training_labels = [training_labels; {labels(training_indices)}];
testing_features = [testing_features; {features(testing_indices, :)}];
testing_labels = [testing_labels; {labels(testing_indices)}];
end
% Define the GRU network architecture
layers = [ …
sequenceInputLayer(size(training_features{1}, 2))
gruLayer(100,’OutputMode’,’last’)
fullyConnectedLayer(2)
softmaxLayer
classificationLayer];
% Define the training options
options = trainingOptions(‘adam’, …
‘MaxEpochs’,100, …
‘MiniBatchSize’, 150, …
‘InitialLearnRate’, 0.01, …
‘GradientThreshold’, 1, …
‘ExecutionEnvironment’,’auto’,…
‘plots’,’training-progress’, …
‘Verbose’,false);
% Train the GRU network
net = trainNetwork(training_features, training_labels, layers, options);
In my code, training_features and training_labels are N-by-1 cell arrays. Each cell in training_features contains a matrix of size M-by-8, where M is the number of time steps and 8 is the number of features. Each cell in training_labels contains a categorical vector of length M, where M is the same as in the corresponding cell of training_features.
Despite this, I’m still getting the error. Any help would be greatly appreciated!Hello MATLAB friends,
I’m working on a project involving time series prediction using a Gated Recurrent Unit (GRU) model. The goal is to predict whether a stock will be a ‘winning’ or ‘losing’ stock based on historical data.
However, I’m encountering an error when trying to train the network using the trainNetwork function. The error message is:
Error using trainNetwork
Invalid training data. Predictors must be a N-by-1 cell array of sequences, where N is the number of sequences. All sequences must have the same feature dimension and at least one time step.
Here’s the relevant portion of my code:
% Initialize cell arrays to store training and testing features and labels
training_features = {};
training_labels = {};
testing_features = {};
testing_labels = {};
% Process each CSV file in the combined_stocks table
for f = 1:height(combined_stocks)
% Load data from CSV file using readtable
data = readtable(fullfile(directory_path, combined_stocks.Stock(f)), ‘VariableNamingRule’, ‘preserve’);
% Selecting the required features
features = data{:, {‘open’, ‘high’, ‘low’, ‘close’, ‘MA’, ‘MA_1’}};
% Normalizing the close prices
normalized_close = (data.close – min(data.close)) / (max(data.close) – min(data.close));
% Calculating logarithmic close prices
log_close = log(data.close);
% Combine all features into a matrix
features = [features, normalized_close, log_close];
% Determine the label for the current stock
if combined_stocks.Maximum_Profit(f) > 0
labels = ones(height(data), 1); % Winning class
else
labels = zeros(height(data), 1); % Losing class
end
% Convert labels to categorical
labels = categorical(labels);
% Generate a random permutation of indices
indices = randperm(size(features, 1));
% Split the data into 70% training and 30% testing
split_point = round(size(features, 1) * 0.7);
training_indices = indices(1:split_point);
testing_indices = indices(split_point+1:end);
% Append the training and testing features and labels to the respective arrays
training_features = [training_features; {features(training_indices, :)}];
training_labels = [training_labels; {labels(training_indices)}];
testing_features = [testing_features; {features(testing_indices, :)}];
testing_labels = [testing_labels; {labels(testing_indices)}];
end
% Define the GRU network architecture
layers = [ …
sequenceInputLayer(size(training_features{1}, 2))
gruLayer(100,’OutputMode’,’last’)
fullyConnectedLayer(2)
softmaxLayer
classificationLayer];
% Define the training options
options = trainingOptions(‘adam’, …
‘MaxEpochs’,100, …
‘MiniBatchSize’, 150, …
‘InitialLearnRate’, 0.01, …
‘GradientThreshold’, 1, …
‘ExecutionEnvironment’,’auto’,…
‘plots’,’training-progress’, …
‘Verbose’,false);
% Train the GRU network
net = trainNetwork(training_features, training_labels, layers, options);
In my code, training_features and training_labels are N-by-1 cell arrays. Each cell in training_features contains a matrix of size M-by-8, where M is the number of time steps and 8 is the number of features. Each cell in training_labels contains a categorical vector of length M, where M is the same as in the corresponding cell of training_features.
Despite this, I’m still getting the error. Any help would be greatly appreciated! Hello MATLAB friends,
I’m working on a project involving time series prediction using a Gated Recurrent Unit (GRU) model. The goal is to predict whether a stock will be a ‘winning’ or ‘losing’ stock based on historical data.
However, I’m encountering an error when trying to train the network using the trainNetwork function. The error message is:
Error using trainNetwork
Invalid training data. Predictors must be a N-by-1 cell array of sequences, where N is the number of sequences. All sequences must have the same feature dimension and at least one time step.
Here’s the relevant portion of my code:
% Initialize cell arrays to store training and testing features and labels
training_features = {};
training_labels = {};
testing_features = {};
testing_labels = {};
% Process each CSV file in the combined_stocks table
for f = 1:height(combined_stocks)
% Load data from CSV file using readtable
data = readtable(fullfile(directory_path, combined_stocks.Stock(f)), ‘VariableNamingRule’, ‘preserve’);
% Selecting the required features
features = data{:, {‘open’, ‘high’, ‘low’, ‘close’, ‘MA’, ‘MA_1’}};
% Normalizing the close prices
normalized_close = (data.close – min(data.close)) / (max(data.close) – min(data.close));
% Calculating logarithmic close prices
log_close = log(data.close);
% Combine all features into a matrix
features = [features, normalized_close, log_close];
% Determine the label for the current stock
if combined_stocks.Maximum_Profit(f) > 0
labels = ones(height(data), 1); % Winning class
else
labels = zeros(height(data), 1); % Losing class
end
% Convert labels to categorical
labels = categorical(labels);
% Generate a random permutation of indices
indices = randperm(size(features, 1));
% Split the data into 70% training and 30% testing
split_point = round(size(features, 1) * 0.7);
training_indices = indices(1:split_point);
testing_indices = indices(split_point+1:end);
% Append the training and testing features and labels to the respective arrays
training_features = [training_features; {features(training_indices, :)}];
training_labels = [training_labels; {labels(training_indices)}];
testing_features = [testing_features; {features(testing_indices, :)}];
testing_labels = [testing_labels; {labels(testing_indices)}];
end
% Define the GRU network architecture
layers = [ …
sequenceInputLayer(size(training_features{1}, 2))
gruLayer(100,’OutputMode’,’last’)
fullyConnectedLayer(2)
softmaxLayer
classificationLayer];
% Define the training options
options = trainingOptions(‘adam’, …
‘MaxEpochs’,100, …
‘MiniBatchSize’, 150, …
‘InitialLearnRate’, 0.01, …
‘GradientThreshold’, 1, …
‘ExecutionEnvironment’,’auto’,…
‘plots’,’training-progress’, …
‘Verbose’,false);
% Train the GRU network
net = trainNetwork(training_features, training_labels, layers, options);
In my code, training_features and training_labels are N-by-1 cell arrays. Each cell in training_features contains a matrix of size M-by-8, where M is the number of time steps and 8 is the number of features. Each cell in training_labels contains a categorical vector of length M, where M is the same as in the corresponding cell of training_features.
Despite this, I’m still getting the error. Any help would be greatly appreciated! matlab, deep learning toolbox, gru, trainnetwork MATLAB Answers — New Questions
left and right sides have a different number of elements.
Hi, i’ve this problem
i is a logical 5995×1… price and bubu have equal size
load(‘matlab_3Variable.mat’);
price(i)=bubu;Hi, i’ve this problem
i is a logical 5995×1… price and bubu have equal size
load(‘matlab_3Variable.mat’);
price(i)=bubu; Hi, i’ve this problem
i is a logical 5995×1… price and bubu have equal size
load(‘matlab_3Variable.mat’);
price(i)=bubu; left and right sides have a different number of el MATLAB Answers — New Questions
How do I export a matlabb app?
I’ll be brief.
How do I export a matlabb app so another person can edit it?
I’ve tried, but my colleague only gets a .mlapp.zip file and once he extracts it, he is not able to even open the GUI.
Thanks in advanceI’ll be brief.
How do I export a matlabb app so another person can edit it?
I’ve tried, but my colleague only gets a .mlapp.zip file and once he extracts it, he is not able to even open the GUI.
Thanks in advance I’ll be brief.
How do I export a matlabb app so another person can edit it?
I’ve tried, but my colleague only gets a .mlapp.zip file and once he extracts it, he is not able to even open the GUI.
Thanks in advance matlab gui, app designer, export MATLAB Answers — New Questions
Plotting Eddy Kinetic Energy
Hi I have problem with plotting eddy kinetic energy (EKE)
I have a data of sea surface height (variable name: adt) with matrix [n m k]. n is latitude, m is longitude and k is time.
I want to plot EKE with equation below
here is my initial code
regionName = ‘SouthIndian’ % change as you need to ..
eval([‘load ‘ regionName]); %to evaluate the data
[n, m, k] = size(b.adt); %n =lat, m= lon, k = absolute topohraphy
adt_mean = squeeze(mean(shiftdim(b.adt,2)));
g=(9.8).^2;
f=2.*(coriolisf(b.lat)).^2;
dhx=(diff(adt_mean)./diff(b.lat)).^2;
dhy=(diff(shiftdim(adt_mean,1))./diff(b.lon)).^2;
eke=g/f*(dhx+dhy);
But it doesnt working. Plese help or any suggestion about it.Hi I have problem with plotting eddy kinetic energy (EKE)
I have a data of sea surface height (variable name: adt) with matrix [n m k]. n is latitude, m is longitude and k is time.
I want to plot EKE with equation below
here is my initial code
regionName = ‘SouthIndian’ % change as you need to ..
eval([‘load ‘ regionName]); %to evaluate the data
[n, m, k] = size(b.adt); %n =lat, m= lon, k = absolute topohraphy
adt_mean = squeeze(mean(shiftdim(b.adt,2)));
g=(9.8).^2;
f=2.*(coriolisf(b.lat)).^2;
dhx=(diff(adt_mean)./diff(b.lat)).^2;
dhy=(diff(shiftdim(adt_mean,1))./diff(b.lon)).^2;
eke=g/f*(dhx+dhy);
But it doesnt working. Plese help or any suggestion about it. Hi I have problem with plotting eddy kinetic energy (EKE)
I have a data of sea surface height (variable name: adt) with matrix [n m k]. n is latitude, m is longitude and k is time.
I want to plot EKE with equation below
here is my initial code
regionName = ‘SouthIndian’ % change as you need to ..
eval([‘load ‘ regionName]); %to evaluate the data
[n, m, k] = size(b.adt); %n =lat, m= lon, k = absolute topohraphy
adt_mean = squeeze(mean(shiftdim(b.adt,2)));
g=(9.8).^2;
f=2.*(coriolisf(b.lat)).^2;
dhx=(diff(adt_mean)./diff(b.lat)).^2;
dhy=(diff(shiftdim(adt_mean,1))./diff(b.lon)).^2;
eke=g/f*(dhx+dhy);
But it doesnt working. Plese help or any suggestion about it. ssh, derivative, spatial MATLAB Answers — New Questions
How to interpolate data as stairs
I have a struct (lets call it Turbine State) with both time and value data. The issue is there aren’t enough data points captured with the range I want, so MATLAB intertpolates the missing data linearly between points.
i.e. shortly beore 14:10 the ‘state’ is 12 but this should remain 12 until it isn’t anymore. so the state should remain 12 before just after 14:30 when it drops to -1. How do i make this a ‘stairs’ representation and not a liner interpolation?
Thanks :)I have a struct (lets call it Turbine State) with both time and value data. The issue is there aren’t enough data points captured with the range I want, so MATLAB intertpolates the missing data linearly between points.
i.e. shortly beore 14:10 the ‘state’ is 12 but this should remain 12 until it isn’t anymore. so the state should remain 12 before just after 14:30 when it drops to -1. How do i make this a ‘stairs’ representation and not a liner interpolation?
Thanks 🙂 I have a struct (lets call it Turbine State) with both time and value data. The issue is there aren’t enough data points captured with the range I want, so MATLAB intertpolates the missing data linearly between points.
i.e. shortly beore 14:10 the ‘state’ is 12 but this should remain 12 until it isn’t anymore. so the state should remain 12 before just after 14:30 when it drops to -1. How do i make this a ‘stairs’ representation and not a liner interpolation?
Thanks 🙂 matlab, plot, plotting, interpolation MATLAB Answers — New Questions
How to block a drawnow from executing callbacks?
Mathworks has recklessly put a drawnow inside of its asynciolib for hardware read and writes:
toolboxsharedasynciolib+matlabshared+asyncio+internalStream.m Line 184: drawnow(‘limitrate’);
This will then execute callbacks in the middle of data transfer! I could remove those lines of code for every Matlab install, but if an update restores the code then I have a dangerous bug. Is there a way I can temporarily pause the event queue from executing callbacks?
The following function CallbackTest has a 10 second main loop which should not be interrupted with the press of a button. However if TCPIP commands are executed in the loop then a hidden drawnow is invoked and the button callback will be processed.
function CallbackTest(Do_TCPIP)
% Test to see if TCPIP reads evaluate callbacks.
% There is a 10s main loop which the button callback should not interrupt.
% The main loop will not be interrupted when Do_TCPIP is 0.
% However when Do_TCPIP is 1 then it will be interrupted.
%Initialize figure and button
hFigure=uifigure();
uibutton(hFigure,ButtonPushedFcn=@ACallBack);
%Initialize TCPIP
echotcpip("on",4000);
t = tcpclient("localhost",4000);
configureTerminator(t,"CR");
waitfor(hFigure,’FigureViewReady’)
%10 second main loop which should not be interrupted because there is no drawnow, figure, pause, or waitfor command
n=0;
while n < 20
if Do_TCPIP
writeline(t,"loop");
readline(t);
end
n=n+1;
java.lang.Thread.sleep(500);
end
% Wrap up
echotcpip("off");
delete(hFigure)
fprintf(‘Done!n’);
end
function ACallBack(~,~)
fprintf(‘Main loop interrupted.n’);
endMathworks has recklessly put a drawnow inside of its asynciolib for hardware read and writes:
toolboxsharedasynciolib+matlabshared+asyncio+internalStream.m Line 184: drawnow(‘limitrate’);
This will then execute callbacks in the middle of data transfer! I could remove those lines of code for every Matlab install, but if an update restores the code then I have a dangerous bug. Is there a way I can temporarily pause the event queue from executing callbacks?
The following function CallbackTest has a 10 second main loop which should not be interrupted with the press of a button. However if TCPIP commands are executed in the loop then a hidden drawnow is invoked and the button callback will be processed.
function CallbackTest(Do_TCPIP)
% Test to see if TCPIP reads evaluate callbacks.
% There is a 10s main loop which the button callback should not interrupt.
% The main loop will not be interrupted when Do_TCPIP is 0.
% However when Do_TCPIP is 1 then it will be interrupted.
%Initialize figure and button
hFigure=uifigure();
uibutton(hFigure,ButtonPushedFcn=@ACallBack);
%Initialize TCPIP
echotcpip("on",4000);
t = tcpclient("localhost",4000);
configureTerminator(t,"CR");
waitfor(hFigure,’FigureViewReady’)
%10 second main loop which should not be interrupted because there is no drawnow, figure, pause, or waitfor command
n=0;
while n < 20
if Do_TCPIP
writeline(t,"loop");
readline(t);
end
n=n+1;
java.lang.Thread.sleep(500);
end
% Wrap up
echotcpip("off");
delete(hFigure)
fprintf(‘Done!n’);
end
function ACallBack(~,~)
fprintf(‘Main loop interrupted.n’);
end Mathworks has recklessly put a drawnow inside of its asynciolib for hardware read and writes:
toolboxsharedasynciolib+matlabshared+asyncio+internalStream.m Line 184: drawnow(‘limitrate’);
This will then execute callbacks in the middle of data transfer! I could remove those lines of code for every Matlab install, but if an update restores the code then I have a dangerous bug. Is there a way I can temporarily pause the event queue from executing callbacks?
The following function CallbackTest has a 10 second main loop which should not be interrupted with the press of a button. However if TCPIP commands are executed in the loop then a hidden drawnow is invoked and the button callback will be processed.
function CallbackTest(Do_TCPIP)
% Test to see if TCPIP reads evaluate callbacks.
% There is a 10s main loop which the button callback should not interrupt.
% The main loop will not be interrupted when Do_TCPIP is 0.
% However when Do_TCPIP is 1 then it will be interrupted.
%Initialize figure and button
hFigure=uifigure();
uibutton(hFigure,ButtonPushedFcn=@ACallBack);
%Initialize TCPIP
echotcpip("on",4000);
t = tcpclient("localhost",4000);
configureTerminator(t,"CR");
waitfor(hFigure,’FigureViewReady’)
%10 second main loop which should not be interrupted because there is no drawnow, figure, pause, or waitfor command
n=0;
while n < 20
if Do_TCPIP
writeline(t,"loop");
readline(t);
end
n=n+1;
java.lang.Thread.sleep(500);
end
% Wrap up
echotcpip("off");
delete(hFigure)
fprintf(‘Done!n’);
end
function ACallBack(~,~)
fprintf(‘Main loop interrupted.n’);
end drawnow, tcpip, hardware, callbacks MATLAB Answers — New Questions
P-H diagram in Axes tool of App designer
Hi,
I want to reproduce the p-h diagram in App designer usin the ‘Axes’ component during the simulation of my simulink refrigeration model. My model has sensors elements from Simscape which provide the respective outputs of pressure and enthalpy necessary for the p-h diagram. However, I do not know how the code should be in UIAxes callback in order to take the live data from the sensors and then plot it in the ‘Axes’ component.
does anybody know how to do it?
Thanks in advance for your comments!Hi,
I want to reproduce the p-h diagram in App designer usin the ‘Axes’ component during the simulation of my simulink refrigeration model. My model has sensors elements from Simscape which provide the respective outputs of pressure and enthalpy necessary for the p-h diagram. However, I do not know how the code should be in UIAxes callback in order to take the live data from the sensors and then plot it in the ‘Axes’ component.
does anybody know how to do it?
Thanks in advance for your comments! Hi,
I want to reproduce the p-h diagram in App designer usin the ‘Axes’ component during the simulation of my simulink refrigeration model. My model has sensors elements from Simscape which provide the respective outputs of pressure and enthalpy necessary for the p-h diagram. However, I do not know how the code should be in UIAxes callback in order to take the live data from the sensors and then plot it in the ‘Axes’ component.
does anybody know how to do it?
Thanks in advance for your comments! app designer, axes tool, p-h diafram MATLAB Answers — New Questions
Training a deep CNN
Which data layout (NHWC, NCHW, or CHWN) is used in trainig a deep CNN? Is there a possibility to choose one of them for the training process?Which data layout (NHWC, NCHW, or CHWN) is used in trainig a deep CNN? Is there a possibility to choose one of them for the training process? Which data layout (NHWC, NCHW, or CHWN) is used in trainig a deep CNN? Is there a possibility to choose one of them for the training process? deep learning, cnn, nhwc, nchw MATLAB Answers — New Questions
How to vary angles at constant rate in a kinematics problem?
o2 = [0, 0, 0]; % Origin
ain = [26,0,0]; % Initial vector
input_axis = [0,1,0]; % Axis of rotation (z-axis)
theta1 = deg2rad(157.5); % Angle of rotation in radians
% Rotation matrix function
rot_matrix = @(axis, theta) cos(theta) * eye(3) + …
sin(theta) * [0, -axis(3), axis(2); axis(3), 0, -axis(1); -axis(2), axis(1), 0] + …
(1 – cos(theta)) * (axis’ * axis);
% Compute the rotated vector
a_rotated = rot_matrix(input_axis, theta1) * (ain’ – o2′) + o2′;
% Transpose to row vector for display
a_rotated = a_rotated’;
a_final=a_rotated;
bin=[29.5,46,0];
o4=[13.5,46,0];
output_axis=[0,1,0];
theta2= deg2rad(105);
b1_rotated = rot_matrix(output_axis, theta2) * (bin’ – o4′) + o4′;
b1_final=b1_rotated’;
u3=[0,0,1];
c1=[125,0,0];
% Compute the rotated vector in terms of phi
syms phi;
rot_matrix_phi = rot_matrix(u3, phi);
c1_afinal_rotated = rot_matrix_phi * (c1 – a_final)’+a_final’ ;
c1_afinal_rotated = c1_afinal_rotated’; % Transpose to row vector for display
o4o2=o4-o2;
%disp(o4o2);
coupler=(c1_afinal_rotated-b1_final);
% Define the initial rotated components of the coupler
syms phi;
coupler = subs(coupler, conj(phi), phi);
%disp(‘Coupler vector without conjugate:’);
disp(coupler);
% Parametric substitution
syms t;
cos_phi = (1 – t^2) / (1 + t^2);
sin_phi = 2 * t / (1 + t^2);
% Substitute parametric forms into coupler components
coupler_parametric = subs(coupler, [cos(phi), sin(phi)], [cos_phi, sin_phi]);
% Display the parametric coupler
disp(‘Parametric form of coupler:’);
disp(coupler_parametric);
syms targetvalue % it might be 3.5 …
normsq = expand(sum(coupler_parametric.^2) – targetvalue^2);
normpoly = simplify(normsq*(t^2+1)^2);
vpa(expand(normpoly),4);
tsolve = solve(normpoly,t,’maxdegree’,4,’returnconditions’,true);
h=vpa(subs(tsolve.t,targetvalue, 106));
%disp(h);
real_solutions = h(imag(h) == 0);
disp(‘Real roots:’);
disp(real_solutions);
% Convert real values of t to angles using angle = 2 * atan(t)
angles_rad = 2 * atan(real_solutions);
angles_deg = rad2deg(angles_rad);
% Display angles in degrees
disp(‘Angles in degrees before adjustment:’);
disp(angles_deg);
phi=double(angles_rad(1));
p=double(angles_deg(1));
c1_position = double(rot_matrix(u3, phi) * (c1′ – a_final’) + a_final’);
p=(c1_position’-a_final)’;
disp(p’);
disp(p(2)/norm(c1_position’-a_final));
final_angle_phi=acosd(p(2)/norm(c1_position’-a_final)); % angle with y axis
disp(final_angle_phi) ;
disp(norm(c1_position’-b1_final));
disp(norm(a_rotated-o2));
%% in this code i want to change theta1 at rate of 90deg/sec and theta2 at rate of 60 deg/sec varying from 0 to 360 deg and want to calculate corresponding value of final_angle_phi with the y axis
%please help someoneo2 = [0, 0, 0]; % Origin
ain = [26,0,0]; % Initial vector
input_axis = [0,1,0]; % Axis of rotation (z-axis)
theta1 = deg2rad(157.5); % Angle of rotation in radians
% Rotation matrix function
rot_matrix = @(axis, theta) cos(theta) * eye(3) + …
sin(theta) * [0, -axis(3), axis(2); axis(3), 0, -axis(1); -axis(2), axis(1), 0] + …
(1 – cos(theta)) * (axis’ * axis);
% Compute the rotated vector
a_rotated = rot_matrix(input_axis, theta1) * (ain’ – o2′) + o2′;
% Transpose to row vector for display
a_rotated = a_rotated’;
a_final=a_rotated;
bin=[29.5,46,0];
o4=[13.5,46,0];
output_axis=[0,1,0];
theta2= deg2rad(105);
b1_rotated = rot_matrix(output_axis, theta2) * (bin’ – o4′) + o4′;
b1_final=b1_rotated’;
u3=[0,0,1];
c1=[125,0,0];
% Compute the rotated vector in terms of phi
syms phi;
rot_matrix_phi = rot_matrix(u3, phi);
c1_afinal_rotated = rot_matrix_phi * (c1 – a_final)’+a_final’ ;
c1_afinal_rotated = c1_afinal_rotated’; % Transpose to row vector for display
o4o2=o4-o2;
%disp(o4o2);
coupler=(c1_afinal_rotated-b1_final);
% Define the initial rotated components of the coupler
syms phi;
coupler = subs(coupler, conj(phi), phi);
%disp(‘Coupler vector without conjugate:’);
disp(coupler);
% Parametric substitution
syms t;
cos_phi = (1 – t^2) / (1 + t^2);
sin_phi = 2 * t / (1 + t^2);
% Substitute parametric forms into coupler components
coupler_parametric = subs(coupler, [cos(phi), sin(phi)], [cos_phi, sin_phi]);
% Display the parametric coupler
disp(‘Parametric form of coupler:’);
disp(coupler_parametric);
syms targetvalue % it might be 3.5 …
normsq = expand(sum(coupler_parametric.^2) – targetvalue^2);
normpoly = simplify(normsq*(t^2+1)^2);
vpa(expand(normpoly),4);
tsolve = solve(normpoly,t,’maxdegree’,4,’returnconditions’,true);
h=vpa(subs(tsolve.t,targetvalue, 106));
%disp(h);
real_solutions = h(imag(h) == 0);
disp(‘Real roots:’);
disp(real_solutions);
% Convert real values of t to angles using angle = 2 * atan(t)
angles_rad = 2 * atan(real_solutions);
angles_deg = rad2deg(angles_rad);
% Display angles in degrees
disp(‘Angles in degrees before adjustment:’);
disp(angles_deg);
phi=double(angles_rad(1));
p=double(angles_deg(1));
c1_position = double(rot_matrix(u3, phi) * (c1′ – a_final’) + a_final’);
p=(c1_position’-a_final)’;
disp(p’);
disp(p(2)/norm(c1_position’-a_final));
final_angle_phi=acosd(p(2)/norm(c1_position’-a_final)); % angle with y axis
disp(final_angle_phi) ;
disp(norm(c1_position’-b1_final));
disp(norm(a_rotated-o2));
%% in this code i want to change theta1 at rate of 90deg/sec and theta2 at rate of 60 deg/sec varying from 0 to 360 deg and want to calculate corresponding value of final_angle_phi with the y axis
%please help someone o2 = [0, 0, 0]; % Origin
ain = [26,0,0]; % Initial vector
input_axis = [0,1,0]; % Axis of rotation (z-axis)
theta1 = deg2rad(157.5); % Angle of rotation in radians
% Rotation matrix function
rot_matrix = @(axis, theta) cos(theta) * eye(3) + …
sin(theta) * [0, -axis(3), axis(2); axis(3), 0, -axis(1); -axis(2), axis(1), 0] + …
(1 – cos(theta)) * (axis’ * axis);
% Compute the rotated vector
a_rotated = rot_matrix(input_axis, theta1) * (ain’ – o2′) + o2′;
% Transpose to row vector for display
a_rotated = a_rotated’;
a_final=a_rotated;
bin=[29.5,46,0];
o4=[13.5,46,0];
output_axis=[0,1,0];
theta2= deg2rad(105);
b1_rotated = rot_matrix(output_axis, theta2) * (bin’ – o4′) + o4′;
b1_final=b1_rotated’;
u3=[0,0,1];
c1=[125,0,0];
% Compute the rotated vector in terms of phi
syms phi;
rot_matrix_phi = rot_matrix(u3, phi);
c1_afinal_rotated = rot_matrix_phi * (c1 – a_final)’+a_final’ ;
c1_afinal_rotated = c1_afinal_rotated’; % Transpose to row vector for display
o4o2=o4-o2;
%disp(o4o2);
coupler=(c1_afinal_rotated-b1_final);
% Define the initial rotated components of the coupler
syms phi;
coupler = subs(coupler, conj(phi), phi);
%disp(‘Coupler vector without conjugate:’);
disp(coupler);
% Parametric substitution
syms t;
cos_phi = (1 – t^2) / (1 + t^2);
sin_phi = 2 * t / (1 + t^2);
% Substitute parametric forms into coupler components
coupler_parametric = subs(coupler, [cos(phi), sin(phi)], [cos_phi, sin_phi]);
% Display the parametric coupler
disp(‘Parametric form of coupler:’);
disp(coupler_parametric);
syms targetvalue % it might be 3.5 …
normsq = expand(sum(coupler_parametric.^2) – targetvalue^2);
normpoly = simplify(normsq*(t^2+1)^2);
vpa(expand(normpoly),4);
tsolve = solve(normpoly,t,’maxdegree’,4,’returnconditions’,true);
h=vpa(subs(tsolve.t,targetvalue, 106));
%disp(h);
real_solutions = h(imag(h) == 0);
disp(‘Real roots:’);
disp(real_solutions);
% Convert real values of t to angles using angle = 2 * atan(t)
angles_rad = 2 * atan(real_solutions);
angles_deg = rad2deg(angles_rad);
% Display angles in degrees
disp(‘Angles in degrees before adjustment:’);
disp(angles_deg);
phi=double(angles_rad(1));
p=double(angles_deg(1));
c1_position = double(rot_matrix(u3, phi) * (c1′ – a_final’) + a_final’);
p=(c1_position’-a_final)’;
disp(p’);
disp(p(2)/norm(c1_position’-a_final));
final_angle_phi=acosd(p(2)/norm(c1_position’-a_final)); % angle with y axis
disp(final_angle_phi) ;
disp(norm(c1_position’-b1_final));
disp(norm(a_rotated-o2));
%% in this code i want to change theta1 at rate of 90deg/sec and theta2 at rate of 60 deg/sec varying from 0 to 360 deg and want to calculate corresponding value of final_angle_phi with the y axis
%please help someone #angles, #omega MATLAB Answers — New Questions
Analyzing data sets that are not statistically significant
I have the attached data. Those are the testing results of fibre reinforced cement mortars. First column indicates lengths of fibre used and the second column indicates the volume ratios. Third coloumn I have porosity data. I analysed all the data statistically, but no combination found statistically significant (Based on P-vale, correlation coefficient and R-squared). Sometimes may be due to only three data points for each combination (For an instance at 6 mm length, how volume ratios affect porosity have three data points and etc.)So I would kindly would like to know wehther nay other machine learning or techniques are available to interpret these data interestingly and effectively to the scintific community? Becuase, as this, I have 4 more test paramters (not only porosity) and four fibre types as well.
THnak you in advance.I have the attached data. Those are the testing results of fibre reinforced cement mortars. First column indicates lengths of fibre used and the second column indicates the volume ratios. Third coloumn I have porosity data. I analysed all the data statistically, but no combination found statistically significant (Based on P-vale, correlation coefficient and R-squared). Sometimes may be due to only three data points for each combination (For an instance at 6 mm length, how volume ratios affect porosity have three data points and etc.)So I would kindly would like to know wehther nay other machine learning or techniques are available to interpret these data interestingly and effectively to the scintific community? Becuase, as this, I have 4 more test paramters (not only porosity) and four fibre types as well.
THnak you in advance. I have the attached data. Those are the testing results of fibre reinforced cement mortars. First column indicates lengths of fibre used and the second column indicates the volume ratios. Third coloumn I have porosity data. I analysed all the data statistically, but no combination found statistically significant (Based on P-vale, correlation coefficient and R-squared). Sometimes may be due to only three data points for each combination (For an instance at 6 mm length, how volume ratios affect porosity have three data points and etc.)So I would kindly would like to know wehther nay other machine learning or techniques are available to interpret these data interestingly and effectively to the scintific community? Becuase, as this, I have 4 more test paramters (not only porosity) and four fibre types as well.
THnak you in advance. data, analysis MATLAB Answers — New Questions
HELP PLEASE xpected Servo Input to be one of these types: numeric
PLEASE HELP I GOT THIS ERRORPLEASE HELP I GOT THIS ERROR PLEASE HELP I GOT THIS ERROR simulink, servo, potentiometer MATLAB Answers — New Questions
Struggling with FMU Exporting Simscape components, they work fine in simscape, but when I export to FMU and resimulate to test, the model fails.
I’m currently making a simple physical system (Gas, Mechanical in Simscape, consisting of a reservoir, two Compressors (G) (with an ideal angular velocity source), a Pipe (G) with a controlled heat flow source providing cooling, and a reservoir downstream to sink to. It’s a very simple system and more just being used as a high level model to test out FMU exports. None of the components are changed from default except for the Reservoirs, Heat Flow Sources providing some BCs, and the Compressor has Analytical parameterization and is being set to a specific design point based on a compressor data set that’s being used.
The model works fine in Simscape, I have a controller that admittedly takes a while to reach steady state but aside from that I’ve not seen any issues. When I export this model as an FMU, the model seems to break. I use the inputs that I’ve had before but they seem to break the model and give the following error:
Log from FMU: [category:logStatusError, status:fmi2Error] fmi2ExitInitializationMode(Output): : The co-simulation model block ‘FMU_Testbed/FMU’ is not running.
Log from FMU: [category:logAll, status:fmi2OK] CommunicationPoint=0, communicationStepSize=100.
Log from FMU: [category:logStatusError, status:fmi2Error] fmi2DoStep(Output): : The co-simulation model block ‘FMU_Testbed/FMU’ is not running.
Log from FMU: [category:logStatusError, status:fmi2Error] fmi2FreeInstance: The following error occurred while simulating model ‘PASS_nodata_fmu_draft’ : Initial conditions solve failed to converge.
…Here is the set of components with unconverged equations:
‘PASS_nodata_fmu_draft/Pipe (G)1’
Equation location is:
‘C:/Program Files/MATLAB/R2024a/toolbox/physmod/simscape/library/m/+foundation/+gas/+elements/pipe.ssc’ (line 351)
‘PASS_nodata_fmu_draft/Compressor (G)1’
Equation location is:
‘C:/Program Files/MATLAB/R2024a/toolbox/physmod/fluids/fluids/+fluids/+gas/+turbomachinery/compressor.sscp'(no line number info)
Equation location is:
‘C:/Program Files/MATLAB/R2024a/toolbox/physmod/fluids/fluids/+fluids/+gas/+turbomachinery/compressor.sscp'(no l
Component:Simulink | Category:Model
An error occurred during simulation and the simulation was terminated
Caused by:
Error in supplied FMU: An error occurred in function ‘fmi2DoStep’ for block ‘FMU_Testbed/FMU’ during simulation. For more information, see the FMU troubleshooting documentation.
Component:Simulink | Category:Block error
One theory I have is that because I’ve used Analytical mode as opposed to Tabulated parameterization, the compressor is struggling. This would explain why the FMU does seem to work after I increase the Speed, but the results are inaccurate (going from 0.3 kg/s to 14.3, and going from 101.3kPa to 10*4kPa)
Original Simscape Model:
FMU Block test (Constant inputs from Simscape were turned into inports and I’ve just been testing the FMU to see if they work):
Produces error mentioned earlier
FMU Block test, increased Speed:
Any help here would be appreciatedI’m currently making a simple physical system (Gas, Mechanical in Simscape, consisting of a reservoir, two Compressors (G) (with an ideal angular velocity source), a Pipe (G) with a controlled heat flow source providing cooling, and a reservoir downstream to sink to. It’s a very simple system and more just being used as a high level model to test out FMU exports. None of the components are changed from default except for the Reservoirs, Heat Flow Sources providing some BCs, and the Compressor has Analytical parameterization and is being set to a specific design point based on a compressor data set that’s being used.
The model works fine in Simscape, I have a controller that admittedly takes a while to reach steady state but aside from that I’ve not seen any issues. When I export this model as an FMU, the model seems to break. I use the inputs that I’ve had before but they seem to break the model and give the following error:
Log from FMU: [category:logStatusError, status:fmi2Error] fmi2ExitInitializationMode(Output): : The co-simulation model block ‘FMU_Testbed/FMU’ is not running.
Log from FMU: [category:logAll, status:fmi2OK] CommunicationPoint=0, communicationStepSize=100.
Log from FMU: [category:logStatusError, status:fmi2Error] fmi2DoStep(Output): : The co-simulation model block ‘FMU_Testbed/FMU’ is not running.
Log from FMU: [category:logStatusError, status:fmi2Error] fmi2FreeInstance: The following error occurred while simulating model ‘PASS_nodata_fmu_draft’ : Initial conditions solve failed to converge.
…Here is the set of components with unconverged equations:
‘PASS_nodata_fmu_draft/Pipe (G)1’
Equation location is:
‘C:/Program Files/MATLAB/R2024a/toolbox/physmod/simscape/library/m/+foundation/+gas/+elements/pipe.ssc’ (line 351)
‘PASS_nodata_fmu_draft/Compressor (G)1’
Equation location is:
‘C:/Program Files/MATLAB/R2024a/toolbox/physmod/fluids/fluids/+fluids/+gas/+turbomachinery/compressor.sscp'(no line number info)
Equation location is:
‘C:/Program Files/MATLAB/R2024a/toolbox/physmod/fluids/fluids/+fluids/+gas/+turbomachinery/compressor.sscp'(no l
Component:Simulink | Category:Model
An error occurred during simulation and the simulation was terminated
Caused by:
Error in supplied FMU: An error occurred in function ‘fmi2DoStep’ for block ‘FMU_Testbed/FMU’ during simulation. For more information, see the FMU troubleshooting documentation.
Component:Simulink | Category:Block error
One theory I have is that because I’ve used Analytical mode as opposed to Tabulated parameterization, the compressor is struggling. This would explain why the FMU does seem to work after I increase the Speed, but the results are inaccurate (going from 0.3 kg/s to 14.3, and going from 101.3kPa to 10*4kPa)
Original Simscape Model:
FMU Block test (Constant inputs from Simscape were turned into inports and I’ve just been testing the FMU to see if they work):
Produces error mentioned earlier
FMU Block test, increased Speed:
Any help here would be appreciated I’m currently making a simple physical system (Gas, Mechanical in Simscape, consisting of a reservoir, two Compressors (G) (with an ideal angular velocity source), a Pipe (G) with a controlled heat flow source providing cooling, and a reservoir downstream to sink to. It’s a very simple system and more just being used as a high level model to test out FMU exports. None of the components are changed from default except for the Reservoirs, Heat Flow Sources providing some BCs, and the Compressor has Analytical parameterization and is being set to a specific design point based on a compressor data set that’s being used.
The model works fine in Simscape, I have a controller that admittedly takes a while to reach steady state but aside from that I’ve not seen any issues. When I export this model as an FMU, the model seems to break. I use the inputs that I’ve had before but they seem to break the model and give the following error:
Log from FMU: [category:logStatusError, status:fmi2Error] fmi2ExitInitializationMode(Output): : The co-simulation model block ‘FMU_Testbed/FMU’ is not running.
Log from FMU: [category:logAll, status:fmi2OK] CommunicationPoint=0, communicationStepSize=100.
Log from FMU: [category:logStatusError, status:fmi2Error] fmi2DoStep(Output): : The co-simulation model block ‘FMU_Testbed/FMU’ is not running.
Log from FMU: [category:logStatusError, status:fmi2Error] fmi2FreeInstance: The following error occurred while simulating model ‘PASS_nodata_fmu_draft’ : Initial conditions solve failed to converge.
…Here is the set of components with unconverged equations:
‘PASS_nodata_fmu_draft/Pipe (G)1’
Equation location is:
‘C:/Program Files/MATLAB/R2024a/toolbox/physmod/simscape/library/m/+foundation/+gas/+elements/pipe.ssc’ (line 351)
‘PASS_nodata_fmu_draft/Compressor (G)1’
Equation location is:
‘C:/Program Files/MATLAB/R2024a/toolbox/physmod/fluids/fluids/+fluids/+gas/+turbomachinery/compressor.sscp'(no line number info)
Equation location is:
‘C:/Program Files/MATLAB/R2024a/toolbox/physmod/fluids/fluids/+fluids/+gas/+turbomachinery/compressor.sscp'(no l
Component:Simulink | Category:Model
An error occurred during simulation and the simulation was terminated
Caused by:
Error in supplied FMU: An error occurred in function ‘fmi2DoStep’ for block ‘FMU_Testbed/FMU’ during simulation. For more information, see the FMU troubleshooting documentation.
Component:Simulink | Category:Block error
One theory I have is that because I’ve used Analytical mode as opposed to Tabulated parameterization, the compressor is struggling. This would explain why the FMU does seem to work after I increase the Speed, but the results are inaccurate (going from 0.3 kg/s to 14.3, and going from 101.3kPa to 10*4kPa)
Original Simscape Model:
FMU Block test (Constant inputs from Simscape were turned into inports and I’ve just been testing the FMU to see if they work):
Produces error mentioned earlier
FMU Block test, increased Speed:
Any help here would be appreciated compressor (g), matlab, simscape, fluids, simulink, fmu, export MATLAB Answers — New Questions
how to have an optional bus signal inside a subsystem?
Hello,
I want to create a subsystem that I can reuse in different scenarios (maybe as subsystem reference, not really important).
I would like to pass the signal to this subsystem as a virtual bus.
Inside the subsystem I use the in bus element to get the signals I need from the bus.
Now, since I use this subsystem in different models/configurations there are signals that sometimes are present and sometimes are not present inside the virtual bus, like in the example image below: signal3 is not present inside the bus and so simulink throws the error:
Selected signal ‘signal3’ in the Bus Element Inport block ‘untitledeee/Subsystem1/In Bus Element1’ cannot be found in the input bus signal.
I would like to use a default value when I recognize that the input is missing. In matlab functions you can easily do this with optional arguments (link: arguments – defaultValue).
My question is: there is a way to replicate the optional arguments of matlab functions inside a subsystem/reference subsystem/model reference?
There is some suggested workaround?Hello,
I want to create a subsystem that I can reuse in different scenarios (maybe as subsystem reference, not really important).
I would like to pass the signal to this subsystem as a virtual bus.
Inside the subsystem I use the in bus element to get the signals I need from the bus.
Now, since I use this subsystem in different models/configurations there are signals that sometimes are present and sometimes are not present inside the virtual bus, like in the example image below: signal3 is not present inside the bus and so simulink throws the error:
Selected signal ‘signal3’ in the Bus Element Inport block ‘untitledeee/Subsystem1/In Bus Element1’ cannot be found in the input bus signal.
I would like to use a default value when I recognize that the input is missing. In matlab functions you can easily do this with optional arguments (link: arguments – defaultValue).
My question is: there is a way to replicate the optional arguments of matlab functions inside a subsystem/reference subsystem/model reference?
There is some suggested workaround? Hello,
I want to create a subsystem that I can reuse in different scenarios (maybe as subsystem reference, not really important).
I would like to pass the signal to this subsystem as a virtual bus.
Inside the subsystem I use the in bus element to get the signals I need from the bus.
Now, since I use this subsystem in different models/configurations there are signals that sometimes are present and sometimes are not present inside the virtual bus, like in the example image below: signal3 is not present inside the bus and so simulink throws the error:
Selected signal ‘signal3’ in the Bus Element Inport block ‘untitledeee/Subsystem1/In Bus Element1’ cannot be found in the input bus signal.
I would like to use a default value when I recognize that the input is missing. In matlab functions you can easily do this with optional arguments (link: arguments – defaultValue).
My question is: there is a way to replicate the optional arguments of matlab functions inside a subsystem/reference subsystem/model reference?
There is some suggested workaround? model reference, input, bus, model, simulink MATLAB Answers — New Questions
java.awt.IllegalComponentStateException: The frame is decorated
Hi,
I got the following error from an old code that I am trying to fix to work in modern version of matlab: (If there is an easy way to fix the bug, would be really helpful!)
Java exception occurred:
java.awt.IllegalComponentStateException: The frame is decorated
at java.awt.Frame.setOpacity(Frame.java:960)
at java.awt.Window$1.setOpacity(Window.java:4037)
at com.sun.awt.AWTUtilities.setWindowOpacity(AWTUtilities.java:174)
The original code is the following:
for stepIdx = 1 : 10
if stepIdx == 1
com.sun.awt.AWTUtilities.setWindowOpacity(jWindow1,0.01)
pause(0.25)
end
newAlpha = -.01 + 0.1*stepIdx;
com.sun.awt.AWTUtilities.setWindowOpacity(jWindow1,newAlpha)
jWindow1.repaint;
endHi,
I got the following error from an old code that I am trying to fix to work in modern version of matlab: (If there is an easy way to fix the bug, would be really helpful!)
Java exception occurred:
java.awt.IllegalComponentStateException: The frame is decorated
at java.awt.Frame.setOpacity(Frame.java:960)
at java.awt.Window$1.setOpacity(Window.java:4037)
at com.sun.awt.AWTUtilities.setWindowOpacity(AWTUtilities.java:174)
The original code is the following:
for stepIdx = 1 : 10
if stepIdx == 1
com.sun.awt.AWTUtilities.setWindowOpacity(jWindow1,0.01)
pause(0.25)
end
newAlpha = -.01 + 0.1*stepIdx;
com.sun.awt.AWTUtilities.setWindowOpacity(jWindow1,newAlpha)
jWindow1.repaint;
end Hi,
I got the following error from an old code that I am trying to fix to work in modern version of matlab: (If there is an easy way to fix the bug, would be really helpful!)
Java exception occurred:
java.awt.IllegalComponentStateException: The frame is decorated
at java.awt.Frame.setOpacity(Frame.java:960)
at java.awt.Window$1.setOpacity(Window.java:4037)
at com.sun.awt.AWTUtilities.setWindowOpacity(AWTUtilities.java:174)
The original code is the following:
for stepIdx = 1 : 10
if stepIdx == 1
com.sun.awt.AWTUtilities.setWindowOpacity(jWindow1,0.01)
pause(0.25)
end
newAlpha = -.01 + 0.1*stepIdx;
com.sun.awt.AWTUtilities.setWindowOpacity(jWindow1,newAlpha)
jWindow1.repaint;
end java frame MATLAB Answers — New Questions
Parfor Execution time variation
Hi,
I am using parfor for reading 600 .raw files.
c=zeros(1536,1536,600,’uint16′);
parpool(‘threads’,4);
parfor i=1:600
fileName=[folder,’/’,fileList(i).name];
a=fopen(fileName,’r’);
Z=fread(a,[1536 1536],’uint16′);
fclose(a);
c(:,:,i)=Z;
end
However, I am observing significant variability in the execution time, which ranges from 14 seconds to 110 seconds across different runs.
Why is this discrepancy occurring? Is there a way to achieve more consistent execution times?Hi,
I am using parfor for reading 600 .raw files.
c=zeros(1536,1536,600,’uint16′);
parpool(‘threads’,4);
parfor i=1:600
fileName=[folder,’/’,fileList(i).name];
a=fopen(fileName,’r’);
Z=fread(a,[1536 1536],’uint16′);
fclose(a);
c(:,:,i)=Z;
end
However, I am observing significant variability in the execution time, which ranges from 14 seconds to 110 seconds across different runs.
Why is this discrepancy occurring? Is there a way to achieve more consistent execution times? Hi,
I am using parfor for reading 600 .raw files.
c=zeros(1536,1536,600,’uint16′);
parpool(‘threads’,4);
parfor i=1:600
fileName=[folder,’/’,fileList(i).name];
a=fopen(fileName,’r’);
Z=fread(a,[1536 1536],’uint16′);
fclose(a);
c(:,:,i)=Z;
end
However, I am observing significant variability in the execution time, which ranges from 14 seconds to 110 seconds across different runs.
Why is this discrepancy occurring? Is there a way to achieve more consistent execution times? parfor, parallel computing, parallel computing toolbox MATLAB Answers — New Questions
How can I get the predicted YValidation data using LSTM model?
Hi, I did a LSTM model, just like the link mentioned(https://ww2.mathworks.cn/help/deeplearning/ref/trainnetwork.html), I specified the ValidationData in the opts.
options = trainingOptions("sgdm", …
MaxEpochs=8, …
ValidationData={XValidation,YValidation}, …
ValidationFrequency=30, …
Verbose=false, …
Plots="training-progress");
Because I want draw a picture including the YValidation data(which I specified) and predicted-YValidation data(which derived from the training net), the question is "How can I get the predicted YValidation data"?
Thank you!Hi, I did a LSTM model, just like the link mentioned(https://ww2.mathworks.cn/help/deeplearning/ref/trainnetwork.html), I specified the ValidationData in the opts.
options = trainingOptions("sgdm", …
MaxEpochs=8, …
ValidationData={XValidation,YValidation}, …
ValidationFrequency=30, …
Verbose=false, …
Plots="training-progress");
Because I want draw a picture including the YValidation data(which I specified) and predicted-YValidation data(which derived from the training net), the question is "How can I get the predicted YValidation data"?
Thank you! Hi, I did a LSTM model, just like the link mentioned(https://ww2.mathworks.cn/help/deeplearning/ref/trainnetwork.html), I specified the ValidationData in the opts.
options = trainingOptions("sgdm", …
MaxEpochs=8, …
ValidationData={XValidation,YValidation}, …
ValidationFrequency=30, …
Verbose=false, …
Plots="training-progress");
Because I want draw a picture including the YValidation data(which I specified) and predicted-YValidation data(which derived from the training net), the question is "How can I get the predicted YValidation data"?
Thank you! lstm, validation data MATLAB Answers — New Questions
Using simulink runtime data in callback functions
Hello, I am stressedup with App Designer. I have stateflow model in Simulink to be controlled from an app built in app designer. I am able to creat a Listener and a run time object in an updateGui helper function.
properties (Access = public)
status3; % Description
end
methods (Access = public)
function updateGUI(app, varargin)
% Create an object that gets the run-time value of the specified block
rto_2 = get_param(‘ChargingProcess/Display3′,’RuntimeObject’);
rto1 = get_param(‘ChargingProcess/CarBatteryOut1′,’RuntimeObject’);
% Update the GUI accordingly.
app.status3 = rto_2.InputPort(1).Data.char;
% app.EditField.Value = rto_2.InputPort(1).Data.char;
% Assign input from Car Battery Level(CarBatteryOut1) to Car Battery level 1 editfield
app.CarBatteryLevel1EditField.Value = rto1.InputPort(1).Data;
end
end
there are other objects which are not very necessary now
This works well and displays the information on the app as I want. Now, i need some of this information (status3) in a push button callback to control a a switch. First issue is that I cannot access the varriable status3 directly in a callback function. I treid to declear it as a property and call it in the button callback funtion. It is called but does not update as the simulation progresses.
The main idea is for the switch controlled by the button callback function to stay on ‘1’ when the button is pressed to the point when status3 matches a particular string ‘WaitAtStation’ and a certain edith field vallue == 100. In this case, I used a while loop. I treid to output the edith field value (gotten from simulink too ) with the same callback funtion but it also does not update as the value in the edith field changes
striingValue = num2str(app.status3)
function Charge1ButtonPushed(app, event)
set_param(‘ChargingProcess/ChargeMyCar1′,’sw’,’1′);
while (app.CarBatteryLevel1EditField.Value == 100 && strcmp(stringValue, ~’WaitAtStation’))
set_param(‘ChargingProcess/ChargeMyCar1′,’sw’,’0′);
end
end
This either doesnt work or freezes my system when the button is pushed. What i actually need help is;
1) How to get status3 and the app.CarBatteryLevel1EditField.Value in my callback function that will update as the actuall vallues change in simulink
2) A better way represent the logic because the while loop appears not to be doing the jobHello, I am stressedup with App Designer. I have stateflow model in Simulink to be controlled from an app built in app designer. I am able to creat a Listener and a run time object in an updateGui helper function.
properties (Access = public)
status3; % Description
end
methods (Access = public)
function updateGUI(app, varargin)
% Create an object that gets the run-time value of the specified block
rto_2 = get_param(‘ChargingProcess/Display3′,’RuntimeObject’);
rto1 = get_param(‘ChargingProcess/CarBatteryOut1′,’RuntimeObject’);
% Update the GUI accordingly.
app.status3 = rto_2.InputPort(1).Data.char;
% app.EditField.Value = rto_2.InputPort(1).Data.char;
% Assign input from Car Battery Level(CarBatteryOut1) to Car Battery level 1 editfield
app.CarBatteryLevel1EditField.Value = rto1.InputPort(1).Data;
end
end
there are other objects which are not very necessary now
This works well and displays the information on the app as I want. Now, i need some of this information (status3) in a push button callback to control a a switch. First issue is that I cannot access the varriable status3 directly in a callback function. I treid to declear it as a property and call it in the button callback funtion. It is called but does not update as the simulation progresses.
The main idea is for the switch controlled by the button callback function to stay on ‘1’ when the button is pressed to the point when status3 matches a particular string ‘WaitAtStation’ and a certain edith field vallue == 100. In this case, I used a while loop. I treid to output the edith field value (gotten from simulink too ) with the same callback funtion but it also does not update as the value in the edith field changes
striingValue = num2str(app.status3)
function Charge1ButtonPushed(app, event)
set_param(‘ChargingProcess/ChargeMyCar1′,’sw’,’1′);
while (app.CarBatteryLevel1EditField.Value == 100 && strcmp(stringValue, ~’WaitAtStation’))
set_param(‘ChargingProcess/ChargeMyCar1′,’sw’,’0′);
end
end
This either doesnt work or freezes my system when the button is pushed. What i actually need help is;
1) How to get status3 and the app.CarBatteryLevel1EditField.Value in my callback function that will update as the actuall vallues change in simulink
2) A better way represent the logic because the while loop appears not to be doing the job Hello, I am stressedup with App Designer. I have stateflow model in Simulink to be controlled from an app built in app designer. I am able to creat a Listener and a run time object in an updateGui helper function.
properties (Access = public)
status3; % Description
end
methods (Access = public)
function updateGUI(app, varargin)
% Create an object that gets the run-time value of the specified block
rto_2 = get_param(‘ChargingProcess/Display3′,’RuntimeObject’);
rto1 = get_param(‘ChargingProcess/CarBatteryOut1′,’RuntimeObject’);
% Update the GUI accordingly.
app.status3 = rto_2.InputPort(1).Data.char;
% app.EditField.Value = rto_2.InputPort(1).Data.char;
% Assign input from Car Battery Level(CarBatteryOut1) to Car Battery level 1 editfield
app.CarBatteryLevel1EditField.Value = rto1.InputPort(1).Data;
end
end
there are other objects which are not very necessary now
This works well and displays the information on the app as I want. Now, i need some of this information (status3) in a push button callback to control a a switch. First issue is that I cannot access the varriable status3 directly in a callback function. I treid to declear it as a property and call it in the button callback funtion. It is called but does not update as the simulation progresses.
The main idea is for the switch controlled by the button callback function to stay on ‘1’ when the button is pressed to the point when status3 matches a particular string ‘WaitAtStation’ and a certain edith field vallue == 100. In this case, I used a while loop. I treid to output the edith field value (gotten from simulink too ) with the same callback funtion but it also does not update as the value in the edith field changes
striingValue = num2str(app.status3)
function Charge1ButtonPushed(app, event)
set_param(‘ChargingProcess/ChargeMyCar1′,’sw’,’1′);
while (app.CarBatteryLevel1EditField.Value == 100 && strcmp(stringValue, ~’WaitAtStation’))
set_param(‘ChargingProcess/ChargeMyCar1′,’sw’,’0′);
end
end
This either doesnt work or freezes my system when the button is pushed. What i actually need help is;
1) How to get status3 and the app.CarBatteryLevel1EditField.Value in my callback function that will update as the actuall vallues change in simulink
2) A better way represent the logic because the while loop appears not to be doing the job share information in app designer MATLAB Answers — New Questions
Error ” Too many input arguments” occurs when using nlhw in EXAMPLE
Following the examples here to lear abount estimate nonlinear model.
After
openExample(‘ident/EstimateAHammersteinWienerModelExample’)
and press run button, I got this error output
Error using nlhw
Too many input arguments.
I debug a bit and found the error occurs at this line
[~, uC(~uNoNorm), uS(~uNoNorm)] = normalize(in(:,~uNoNorm),1,PV{:});
But I really did not figure out why. Thanks in advance for your kind help.Following the examples here to lear abount estimate nonlinear model.
After
openExample(‘ident/EstimateAHammersteinWienerModelExample’)
and press run button, I got this error output
Error using nlhw
Too many input arguments.
I debug a bit and found the error occurs at this line
[~, uC(~uNoNorm), uS(~uNoNorm)] = normalize(in(:,~uNoNorm),1,PV{:});
But I really did not figure out why. Thanks in advance for your kind help. Following the examples here to lear abount estimate nonlinear model.
After
openExample(‘ident/EstimateAHammersteinWienerModelExample’)
and press run button, I got this error output
Error using nlhw
Too many input arguments.
I debug a bit and found the error occurs at this line
[~, uC(~uNoNorm), uS(~uNoNorm)] = normalize(in(:,~uNoNorm),1,PV{:});
But I really did not figure out why. Thanks in advance for your kind help. system identification, nlhw, hammerstein-wiener model MATLAB Answers — New Questions
Impact of Electric vehicle charging on the distribution grid
Hey everyone,
I am doing my research on the impact of charging Electric Vehicle on the distribution grid and looking into parameters such as voltage profile, losses and transformer overloading. Are there any power distribution systems already created in Matlab or simulink that i can use for this purpose?Hey everyone,
I am doing my research on the impact of charging Electric Vehicle on the distribution grid and looking into parameters such as voltage profile, losses and transformer overloading. Are there any power distribution systems already created in Matlab or simulink that i can use for this purpose? Hey everyone,
I am doing my research on the impact of charging Electric Vehicle on the distribution grid and looking into parameters such as voltage profile, losses and transformer overloading. Are there any power distribution systems already created in Matlab or simulink that i can use for this purpose? ieee, power distribution systems MATLAB Answers — New Questions
Reattaching Visual Studio debugger fails to detect mex file modules
I am attempting to debug a Matlab "mex" file using Visual Studio.
I can attach Visual Studio to Matlab and set a breakpoint in my mex file source code just fine in the first go-around. When calling the mex file, visual studio stops at the breakpoint, and I note that the mex file is listed in the loaded modules:
However, if I de-attach visual studio, then re-attach, seems that visual studio no longer detects the loaded modules. See screenshot below, there are far fewer modules listed:
This is quite frustrating, as the only way I seem to be able to work around is to quit Matlab and re-start each time in need to re-attach the debugger (i.e. after tweaking code and rebuilding the mex file).
I used to do this all the time in the past (i.e. with VS 2010-2012 / Matlab R2012B-R2017B), but I’m stumped on this now using VS 2015 w/ Matlab R2019B.I am attempting to debug a Matlab "mex" file using Visual Studio.
I can attach Visual Studio to Matlab and set a breakpoint in my mex file source code just fine in the first go-around. When calling the mex file, visual studio stops at the breakpoint, and I note that the mex file is listed in the loaded modules:
However, if I de-attach visual studio, then re-attach, seems that visual studio no longer detects the loaded modules. See screenshot below, there are far fewer modules listed:
This is quite frustrating, as the only way I seem to be able to work around is to quit Matlab and re-start each time in need to re-attach the debugger (i.e. after tweaking code and rebuilding the mex file).
I used to do this all the time in the past (i.e. with VS 2010-2012 / Matlab R2012B-R2017B), but I’m stumped on this now using VS 2015 w/ Matlab R2019B. I am attempting to debug a Matlab "mex" file using Visual Studio.
I can attach Visual Studio to Matlab and set a breakpoint in my mex file source code just fine in the first go-around. When calling the mex file, visual studio stops at the breakpoint, and I note that the mex file is listed in the loaded modules:
However, if I de-attach visual studio, then re-attach, seems that visual studio no longer detects the loaded modules. See screenshot below, there are far fewer modules listed:
This is quite frustrating, as the only way I seem to be able to work around is to quit Matlab and re-start each time in need to re-attach the debugger (i.e. after tweaking code and rebuilding the mex file).
I used to do this all the time in the past (i.e. with VS 2010-2012 / Matlab R2012B-R2017B), but I’m stumped on this now using VS 2015 w/ Matlab R2019B. mex compiler, debug, mex, visual studio MATLAB Answers — New Questions