Tag Archives: matlab
Layer Input Expectation Doesn’t Match (Neural Network)
Creating a dlnetwork with three inputs and two outputs. The inputs are x, y, z coordinates in the form of UTMN, UTME, and height. The outputs are pressure and temperature. Data is from multiple well logs and is organized by well ID, UTMN, UTME, height, temp, and pressure.
I seperated the data into training and validation sets. Training data: train_x_array (3 feature inputs) and train_y_array (2 feature outputs). Validation: val_x_array and val_y_array.
Keep getting errors such as:
Training stopped: Error occurred
Error using trainnet
Layer ‘input’: Invalid input data. Invalid size of channel dimension. Layer expects input with channel dimension size 3
but received input with size 189.
Error in final3 (line 25)
netTrained = trainnet(train_x_array_transposed, train_y_array_transposed, net,"mse", opts);
In an effort to fix the issue, I transposed the x and y arrays for both the training and validation sets. However, I am still getting the same error. I am at a loss for how to fix the error. If I try to use the Deep Network Designer, I receive an error stating their are multiple observations. The x and y values are the same for different heights/temps/pressures from the same well. I am assuming this is were the issue arises, but I do not understand why the designer would produce a different error.
Example data (before transposing):
x y z T P
4407300 327880 2796 344.3 501
4407300 327880 2746 356.5 521
4407300 327880 2696 357 541
Where train_x would be the first 3 columns, and train_y is the last 2.
Full Code:
inputSize = 3;
hiddenLayerSize = 20;
outputSize = 2;
layers = [
featureInputLayer(inputSize)
fullyConnectedLayer(hiddenLayerSize, ‘Name’, ‘fc1’)
reluLayer(‘Name’, ‘relu1’)
fullyConnectedLayer(outputSize, ‘Name’, ‘output’)
];
net = dlnetwork(layers);
opts = trainingOptions(‘adam’, …
‘MaxEpochs’, 100, …
‘MiniBatchSize’, 64, …
‘ValidationData’, {val_x_array_transposed’, val_y_array_transposed’}, …
‘ValidationFrequency’, 10, …
‘Verbose’, true …
);
netTrained = trainnet(train_x_array_transposed, train_y_array_transposed, net,"mse", opts);
Y_pred_val = predict(netTrained, val_x_array’);Creating a dlnetwork with three inputs and two outputs. The inputs are x, y, z coordinates in the form of UTMN, UTME, and height. The outputs are pressure and temperature. Data is from multiple well logs and is organized by well ID, UTMN, UTME, height, temp, and pressure.
I seperated the data into training and validation sets. Training data: train_x_array (3 feature inputs) and train_y_array (2 feature outputs). Validation: val_x_array and val_y_array.
Keep getting errors such as:
Training stopped: Error occurred
Error using trainnet
Layer ‘input’: Invalid input data. Invalid size of channel dimension. Layer expects input with channel dimension size 3
but received input with size 189.
Error in final3 (line 25)
netTrained = trainnet(train_x_array_transposed, train_y_array_transposed, net,"mse", opts);
In an effort to fix the issue, I transposed the x and y arrays for both the training and validation sets. However, I am still getting the same error. I am at a loss for how to fix the error. If I try to use the Deep Network Designer, I receive an error stating their are multiple observations. The x and y values are the same for different heights/temps/pressures from the same well. I am assuming this is were the issue arises, but I do not understand why the designer would produce a different error.
Example data (before transposing):
x y z T P
4407300 327880 2796 344.3 501
4407300 327880 2746 356.5 521
4407300 327880 2696 357 541
Where train_x would be the first 3 columns, and train_y is the last 2.
Full Code:
inputSize = 3;
hiddenLayerSize = 20;
outputSize = 2;
layers = [
featureInputLayer(inputSize)
fullyConnectedLayer(hiddenLayerSize, ‘Name’, ‘fc1’)
reluLayer(‘Name’, ‘relu1’)
fullyConnectedLayer(outputSize, ‘Name’, ‘output’)
];
net = dlnetwork(layers);
opts = trainingOptions(‘adam’, …
‘MaxEpochs’, 100, …
‘MiniBatchSize’, 64, …
‘ValidationData’, {val_x_array_transposed’, val_y_array_transposed’}, …
‘ValidationFrequency’, 10, …
‘Verbose’, true …
);
netTrained = trainnet(train_x_array_transposed, train_y_array_transposed, net,"mse", opts);
Y_pred_val = predict(netTrained, val_x_array’); Creating a dlnetwork with three inputs and two outputs. The inputs are x, y, z coordinates in the form of UTMN, UTME, and height. The outputs are pressure and temperature. Data is from multiple well logs and is organized by well ID, UTMN, UTME, height, temp, and pressure.
I seperated the data into training and validation sets. Training data: train_x_array (3 feature inputs) and train_y_array (2 feature outputs). Validation: val_x_array and val_y_array.
Keep getting errors such as:
Training stopped: Error occurred
Error using trainnet
Layer ‘input’: Invalid input data. Invalid size of channel dimension. Layer expects input with channel dimension size 3
but received input with size 189.
Error in final3 (line 25)
netTrained = trainnet(train_x_array_transposed, train_y_array_transposed, net,"mse", opts);
In an effort to fix the issue, I transposed the x and y arrays for both the training and validation sets. However, I am still getting the same error. I am at a loss for how to fix the error. If I try to use the Deep Network Designer, I receive an error stating their are multiple observations. The x and y values are the same for different heights/temps/pressures from the same well. I am assuming this is were the issue arises, but I do not understand why the designer would produce a different error.
Example data (before transposing):
x y z T P
4407300 327880 2796 344.3 501
4407300 327880 2746 356.5 521
4407300 327880 2696 357 541
Where train_x would be the first 3 columns, and train_y is the last 2.
Full Code:
inputSize = 3;
hiddenLayerSize = 20;
outputSize = 2;
layers = [
featureInputLayer(inputSize)
fullyConnectedLayer(hiddenLayerSize, ‘Name’, ‘fc1’)
reluLayer(‘Name’, ‘relu1’)
fullyConnectedLayer(outputSize, ‘Name’, ‘output’)
];
net = dlnetwork(layers);
opts = trainingOptions(‘adam’, …
‘MaxEpochs’, 100, …
‘MiniBatchSize’, 64, …
‘ValidationData’, {val_x_array_transposed’, val_y_array_transposed’}, …
‘ValidationFrequency’, 10, …
‘Verbose’, true …
);
netTrained = trainnet(train_x_array_transposed, train_y_array_transposed, net,"mse", opts);
Y_pred_val = predict(netTrained, val_x_array’); deep network designer, neural network, multiple inputs and outputs MATLAB Answers — New Questions
If I set up the Hardware board in Hardware Implementation, can’t I turn ON the “Generate and example main program” setting in Templates?
Specific hardware was set in Configuration Parameter –> Hardware Implementation –> Hardware board.
Code Generation –> System target file was set to ert.tlc.
If you turn on "Generate an example main program" in Code Generation –> Templates –> Custom Templates,
<The ‘GenerateSampleERTMain’ model parameter is set to ‘on’, but your hardware board requires it to be set to ‘off’ . Use ‘set_param’ command to set the ‘GenerateSampleERTMain’ model parameter to ‘off.>" Error occurs.
If I set up the Hardware board in Hardware Implementation, can’t I turn ON the "Generate and example main program" setting in Templates?Specific hardware was set in Configuration Parameter –> Hardware Implementation –> Hardware board.
Code Generation –> System target file was set to ert.tlc.
If you turn on "Generate an example main program" in Code Generation –> Templates –> Custom Templates,
<The ‘GenerateSampleERTMain’ model parameter is set to ‘on’, but your hardware board requires it to be set to ‘off’ . Use ‘set_param’ command to set the ‘GenerateSampleERTMain’ model parameter to ‘off.>" Error occurs.
If I set up the Hardware board in Hardware Implementation, can’t I turn ON the "Generate and example main program" setting in Templates? Specific hardware was set in Configuration Parameter –> Hardware Implementation –> Hardware board.
Code Generation –> System target file was set to ert.tlc.
If you turn on "Generate an example main program" in Code Generation –> Templates –> Custom Templates,
<The ‘GenerateSampleERTMain’ model parameter is set to ‘on’, but your hardware board requires it to be set to ‘off’ . Use ‘set_param’ command to set the ‘GenerateSampleERTMain’ model parameter to ‘off.>" Error occurs.
If I set up the Hardware board in Hardware Implementation, can’t I turn ON the "Generate and example main program" setting in Templates? embedded coder, generate code, generatesampleertmain MATLAB Answers — New Questions
Class D amplifier simulation model with Asynchronous delta sigma modulation
Hello communitiy members,
I am trying to build a Class D amplifier simulation model, but I coundt run it. would you please me help with class d amplifier simulation model.
Thank You.Hello communitiy members,
I am trying to build a Class D amplifier simulation model, but I coundt run it. would you please me help with class d amplifier simulation model.
Thank You. Hello communitiy members,
I am trying to build a Class D amplifier simulation model, but I coundt run it. would you please me help with class d amplifier simulation model.
Thank You. class d amplfier, simulink MATLAB Answers — New Questions
Download file using “websave” from a source that requires login via Oauth
How can I download a file from NASA’s Archive of Space Geodesy Data at the provided URL, which requires login information and redirection? My current code attempts to download the file directly using websave, but it only retrieves the login page’s HTML instead.
https://urs.earthdata.nasa.gov/oauth/authorizeHow can I download a file from NASA’s Archive of Space Geodesy Data at the provided URL, which requires login information and redirection? My current code attempts to download the file directly using websave, but it only retrieves the login page’s HTML instead.
https://urs.earthdata.nasa.gov/oauth/authorize How can I download a file from NASA’s Archive of Space Geodesy Data at the provided URL, which requires login information and redirection? My current code attempts to download the file directly using websave, but it only retrieves the login page’s HTML instead.
https://urs.earthdata.nasa.gov/oauth/authorize auth, webread MATLAB Answers — New Questions
How to implement ESN layers or more generally reservoir computing approach in MATLAB DDPG agent
Hello,
Is it possible to use echo state neural networks and generally reservoir computing approach as actor and critic networks in matlab with DDPG agent? Does MATLAB support this feature? If yes, how to do it and also from what version of MATLAB is it supported and If no, how do you suggest to implement it manually?
(The main idea is to use reservoir computing approach to increase DDPG learning speed in continuous action-state space by only updating output layer of actor and critic networks.)
Any Suggestion ?Hello,
Is it possible to use echo state neural networks and generally reservoir computing approach as actor and critic networks in matlab with DDPG agent? Does MATLAB support this feature? If yes, how to do it and also from what version of MATLAB is it supported and If no, how do you suggest to implement it manually?
(The main idea is to use reservoir computing approach to increase DDPG learning speed in continuous action-state space by only updating output layer of actor and critic networks.)
Any Suggestion ? Hello,
Is it possible to use echo state neural networks and generally reservoir computing approach as actor and critic networks in matlab with DDPG agent? Does MATLAB support this feature? If yes, how to do it and also from what version of MATLAB is it supported and If no, how do you suggest to implement it manually?
(The main idea is to use reservoir computing approach to increase DDPG learning speed in continuous action-state space by only updating output layer of actor and critic networks.)
Any Suggestion ? neural networks, machine learning, reinforcement learning, ddpg, esn, reservoir computing MATLAB Answers — New Questions
what does the vertical line in the editor window mean?
I notice that in the editor window, there is a vertical ruler. What is the purpose of this vertical line?I notice that in the editor window, there is a vertical ruler. What is the purpose of this vertical line? I notice that in the editor window, there is a vertical ruler. What is the purpose of this vertical line? matlab coder MATLAB Answers — New Questions
Hybrid Battery-Ultracapacitor for EV
Conversion of example model of Fuel Cell Electric Vehicle (FCEV) Architecture into a Hybrid system of Battery-Ultracapacitor for Electric Vehicle application.Conversion of example model of Fuel Cell Electric Vehicle (FCEV) Architecture into a Hybrid system of Battery-Ultracapacitor for Electric Vehicle application. Conversion of example model of Fuel Cell Electric Vehicle (FCEV) Architecture into a Hybrid system of Battery-Ultracapacitor for Electric Vehicle application. battery-ultracapacitor, ultracapacitor, battery, battery-ultracapacitor for electric vehicle MATLAB Answers — New Questions
How do I define HANTS matlab parameters?
I am using HANTS MATLAB code for the NDVI time series. I have defined the parameters as follows;
function [yOut, amp, phi]=ApplyHants(y,nb,nf,fet,dod,HiLo,low,high,delta)
nb = 22 ; total number of images
nf = 3 frequency above zero frequency
fet = 5
dod = 5
HiLo = ‘none’
low = -1.0 ; minimum value of NDVI
high = 1.0 ; maximum value of NDVI
delta = 0.1
but it is giving output as zero values.
Please suggest me how to define these above mentioned parameters for my NDVI time series of one year time period having 22 images.
I would appreciate your kind help.
GauriI am using HANTS MATLAB code for the NDVI time series. I have defined the parameters as follows;
function [yOut, amp, phi]=ApplyHants(y,nb,nf,fet,dod,HiLo,low,high,delta)
nb = 22 ; total number of images
nf = 3 frequency above zero frequency
fet = 5
dod = 5
HiLo = ‘none’
low = -1.0 ; minimum value of NDVI
high = 1.0 ; maximum value of NDVI
delta = 0.1
but it is giving output as zero values.
Please suggest me how to define these above mentioned parameters for my NDVI time series of one year time period having 22 images.
I would appreciate your kind help.
Gauri I am using HANTS MATLAB code for the NDVI time series. I have defined the parameters as follows;
function [yOut, amp, phi]=ApplyHants(y,nb,nf,fet,dod,HiLo,low,high,delta)
nb = 22 ; total number of images
nf = 3 frequency above zero frequency
fet = 5
dod = 5
HiLo = ‘none’
low = -1.0 ; minimum value of NDVI
high = 1.0 ; maximum value of NDVI
delta = 0.1
but it is giving output as zero values.
Please suggest me how to define these above mentioned parameters for my NDVI time series of one year time period having 22 images.
I would appreciate your kind help.
Gauri how do i define hants matlab parameters? MATLAB Answers — New Questions
I am trying to plot a line but it is not working.
Kc = 1.08;
k = 9*10^(-5);
V0 = 200;
Ca0 = 7.72;
Fa0 = 0.05;
t = 1:1000;
Xe = ((Ca0*V0)-(Fa0*t))/((Ca0*V0)+((Kc-1)*(Fa0*t)));
plot(t, Xe)
xlabel(‘Time (s)’)
ylabel(‘Equilibrium Conversion of Ethyl Acetate’)
title(‘Equilibrium Conversion vs. Time’)
What is the issue? Thanks in advance.Kc = 1.08;
k = 9*10^(-5);
V0 = 200;
Ca0 = 7.72;
Fa0 = 0.05;
t = 1:1000;
Xe = ((Ca0*V0)-(Fa0*t))/((Ca0*V0)+((Kc-1)*(Fa0*t)));
plot(t, Xe)
xlabel(‘Time (s)’)
ylabel(‘Equilibrium Conversion of Ethyl Acetate’)
title(‘Equilibrium Conversion vs. Time’)
What is the issue? Thanks in advance. Kc = 1.08;
k = 9*10^(-5);
V0 = 200;
Ca0 = 7.72;
Fa0 = 0.05;
t = 1:1000;
Xe = ((Ca0*V0)-(Fa0*t))/((Ca0*V0)+((Kc-1)*(Fa0*t)));
plot(t, Xe)
xlabel(‘Time (s)’)
ylabel(‘Equilibrium Conversion of Ethyl Acetate’)
title(‘Equilibrium Conversion vs. Time’)
What is the issue? Thanks in advance. #plot MATLAB Answers — New Questions
Why is there an error in the calculation of 366.0/5.0?
I input the following code in Matlab and the result obtained has a small error, as shown below:
>> format long
>> 367/5
ans =
73.400000000000006I input the following code in Matlab and the result obtained has a small error, as shown below:
>> format long
>> 367/5
ans =
73.400000000000006 I input the following code in Matlab and the result obtained has a small error, as shown below:
>> format long
>> 367/5
ans =
73.400000000000006 数值计算 MATLAB Answers — New Questions
How to stop further execution of M-script by using command?
Hello.
I’m trying to use ‘questdlg’ to shows question dialog with several buttons. My aim is that when I click ‘stop’ button in the dialog generated by using ‘questdlg’, no further execution of code.’switch’ is used to define each action of buttons right after ‘questdlg’.
I’m using break and return and they’re all just to get out of the ‘switch’. How can I abort all code running by using command?Hello.
I’m trying to use ‘questdlg’ to shows question dialog with several buttons. My aim is that when I click ‘stop’ button in the dialog generated by using ‘questdlg’, no further execution of code.’switch’ is used to define each action of buttons right after ‘questdlg’.
I’m using break and return and they’re all just to get out of the ‘switch’. How can I abort all code running by using command? Hello.
I’m trying to use ‘questdlg’ to shows question dialog with several buttons. My aim is that when I click ‘stop’ button in the dialog generated by using ‘questdlg’, no further execution of code.’switch’ is used to define each action of buttons right after ‘questdlg’.
I’m using break and return and they’re all just to get out of the ‘switch’. How can I abort all code running by using command? termination, abort MATLAB Answers — New Questions
How does MATLAB downsample the output of the linear equalizer in a fractional comm.LinearEqualizer?
The documentation for the comm.LinearEqualizer explains that for fractionally spaced equalizers, where the sample rate of the input to the equalizer is an integer multiple of the symbol rate, the output of the equalizer has one sample per symbol. This seems to indicate that the equalizer is performing some sort of downsampling. How does this work?
If I take the final equalizer tap weights ("weights") and convolve them with the input to the equalizer, which is called "Data":
eq = comm.LinearEqualizer;
[FFEout,~,weights] = step(eq,Data,TrainingSequence);
FIRout = conv(Data,conj(weights),’same’);
I would expect the output of the convolution to be equal to an interpolated (upsampled). In other words, "FFEout" should be a downsampled version of "FIRout". However, this is not the case, as can be seen in the below plot; the signal is QPSK modulated, so the exact values for the I and Q channels are either +1 or -1.
The plot shows that the equalizer is working as expected (FFEout lines up nicely with the exact data). However, the fact that convolving the signal with the filter tap weights does not seem to correspond to the output of the equalizer has me confused, since the equalizer is just performing a convolution with optimized tap weights. Does MATLAB do something fancier than simple downsampling to obtain the output symbols from the equalizer?The documentation for the comm.LinearEqualizer explains that for fractionally spaced equalizers, where the sample rate of the input to the equalizer is an integer multiple of the symbol rate, the output of the equalizer has one sample per symbol. This seems to indicate that the equalizer is performing some sort of downsampling. How does this work?
If I take the final equalizer tap weights ("weights") and convolve them with the input to the equalizer, which is called "Data":
eq = comm.LinearEqualizer;
[FFEout,~,weights] = step(eq,Data,TrainingSequence);
FIRout = conv(Data,conj(weights),’same’);
I would expect the output of the convolution to be equal to an interpolated (upsampled). In other words, "FFEout" should be a downsampled version of "FIRout". However, this is not the case, as can be seen in the below plot; the signal is QPSK modulated, so the exact values for the I and Q channels are either +1 or -1.
The plot shows that the equalizer is working as expected (FFEout lines up nicely with the exact data). However, the fact that convolving the signal with the filter tap weights does not seem to correspond to the output of the equalizer has me confused, since the equalizer is just performing a convolution with optimized tap weights. Does MATLAB do something fancier than simple downsampling to obtain the output symbols from the equalizer? The documentation for the comm.LinearEqualizer explains that for fractionally spaced equalizers, where the sample rate of the input to the equalizer is an integer multiple of the symbol rate, the output of the equalizer has one sample per symbol. This seems to indicate that the equalizer is performing some sort of downsampling. How does this work?
If I take the final equalizer tap weights ("weights") and convolve them with the input to the equalizer, which is called "Data":
eq = comm.LinearEqualizer;
[FFEout,~,weights] = step(eq,Data,TrainingSequence);
FIRout = conv(Data,conj(weights),’same’);
I would expect the output of the convolution to be equal to an interpolated (upsampled). In other words, "FFEout" should be a downsampled version of "FIRout". However, this is not the case, as can be seen in the below plot; the signal is QPSK modulated, so the exact values for the I and Q channels are either +1 or -1.
The plot shows that the equalizer is working as expected (FFEout lines up nicely with the exact data). However, the fact that convolving the signal with the filter tap weights does not seem to correspond to the output of the equalizer has me confused, since the equalizer is just performing a convolution with optimized tap weights. Does MATLAB do something fancier than simple downsampling to obtain the output symbols from the equalizer? equalizer, matlab, tap weights, fractionally spaced MATLAB Answers — New Questions
How to convert table variable to datetime and adjust timezone?
Hi there! I have a table that reads a csv file for which column A is "Time" and is in posix-millisec format. I would like to convert the values to dd-mm-yyyy format and then convert values into the time zone which the data were taken. I would like these newly formatted versions of the values to replace the originals in my table. Here is what I have put together so far.
My Table is name "T":
The following line works fine and the resultant dates are at UTC time:
T.Time = datetime(T.Time,’ConvertFrom’,’epochtime’,’TicksPerSecond’,1e3,’Format’,’dd-MMM-yyyy HH:mm:ss.SSS’)
The following line appears to work, but I am not sure how to check, and I think tells Matlab that the table variable Time is in UTC timezone so that it can be converted with subsequent commands.
T.Time = datetime(T.Time, "TimeZone","UTC")
This is where I get lost: How can I convert all of the values in T.Time to be in ‘America/New_York’ timezone so that when I plot T.Time vs <Stuff> my time axis reads in New York time?
I tried the following but it throws an error "Error using . To assign to or create a variable in a table, the number of rows must match the height of the table."
T.Time = ‘America/New_York’
Thank you!Hi there! I have a table that reads a csv file for which column A is "Time" and is in posix-millisec format. I would like to convert the values to dd-mm-yyyy format and then convert values into the time zone which the data were taken. I would like these newly formatted versions of the values to replace the originals in my table. Here is what I have put together so far.
My Table is name "T":
The following line works fine and the resultant dates are at UTC time:
T.Time = datetime(T.Time,’ConvertFrom’,’epochtime’,’TicksPerSecond’,1e3,’Format’,’dd-MMM-yyyy HH:mm:ss.SSS’)
The following line appears to work, but I am not sure how to check, and I think tells Matlab that the table variable Time is in UTC timezone so that it can be converted with subsequent commands.
T.Time = datetime(T.Time, "TimeZone","UTC")
This is where I get lost: How can I convert all of the values in T.Time to be in ‘America/New_York’ timezone so that when I plot T.Time vs <Stuff> my time axis reads in New York time?
I tried the following but it throws an error "Error using . To assign to or create a variable in a table, the number of rows must match the height of the table."
T.Time = ‘America/New_York’
Thank you! Hi there! I have a table that reads a csv file for which column A is "Time" and is in posix-millisec format. I would like to convert the values to dd-mm-yyyy format and then convert values into the time zone which the data were taken. I would like these newly formatted versions of the values to replace the originals in my table. Here is what I have put together so far.
My Table is name "T":
The following line works fine and the resultant dates are at UTC time:
T.Time = datetime(T.Time,’ConvertFrom’,’epochtime’,’TicksPerSecond’,1e3,’Format’,’dd-MMM-yyyy HH:mm:ss.SSS’)
The following line appears to work, but I am not sure how to check, and I think tells Matlab that the table variable Time is in UTC timezone so that it can be converted with subsequent commands.
T.Time = datetime(T.Time, "TimeZone","UTC")
This is where I get lost: How can I convert all of the values in T.Time to be in ‘America/New_York’ timezone so that when I plot T.Time vs <Stuff> my time axis reads in New York time?
I tried the following but it throws an error "Error using . To assign to or create a variable in a table, the number of rows must match the height of the table."
T.Time = ‘America/New_York’
Thank you! datetime, table, time zone MATLAB Answers — New Questions
MATLAB App Designer – Reading Data
Hi, I’m back. This is quite a long question so I’ll try my best and include as much info as I can to get the question across. In a Matlab script, I have the matrix final_unshuffled has an order, with easy being the first row, medium being the second row, hard being the third row, and expert being the fourth. I have another matrix called FINAL_Shuffled_Columns which is ‘imported’ or ‘read’ (I’m not sure what the technical term is) which is read by an app I have which uses a .Text command to replace the button names with the string names of FINAL_Shuffled_Columns, See Below:
%NB: This is under my Start-Up Function:
function StartUp(app)
MATRIX_VALUES();
mybuttons = [app.Button1,app.Button2,app.Button3,app.Button4,…
app.Button5,app.Button6,app.Button7,app.Button8,…
app.Button9,app.Button10,app.Button11,app.Button12,…
app.Button13,app.Button14,app.Button15,app.Button16];
str = string(FINAL_Shuffled_Columns);
for i = 1:numel(mybuttons)
mybuttons(i).Text = str(i);
end
end
Later on in the code, I want to reference another matrix from the same script called final_unshuffled (See below). However, when I try to run this I get an error saying I have to explicity initialize finalUnshuffled, which means rowAsStrings doesn’t get recognized correctly. I don’t understand because both FINAL_Shuffled_Columns and final_unshuffled are in the same file? So how could one get read but the other one, not? I tried adding final_unshuffled as a property as well and that didn’t work.
MATRIX_VALUES();
selectedButtons = [app.Button1.Text, app.Button2.Text, app.Button3.Text,…
app.Button4.Text, app.Button5.Text, app.Button6.Text, app.Button7.Text,…
app.Button8.Text, app.Button9.Text, app.Button10.Text, app.Button11.Text,…
app.Button12.Text, app.Button13.Text, app.Button14.Text, app.Button15.Text,…
app.Button16.Text];
rowAsStrings = arrayfun(@(idx) strjoin(string(app.finalUnshuffled(idx, :)), " "), 1:4, ‘UniformOutput’, false);
for i = 1:length(rowAsStrings)
if all(ismember(selectedButtons, strsplit(rowsAsStrings{i})))
switch i
case 1 %EASY
setColor(app, selectedButtons, ‘yellow’);
case 2 %MEDIUM
setColor(app, selectedButtons, ‘green’);
case 3 %HARD
setColor(app, selectedButtons, ‘blue’);
case 4 %EXPERT
setColor(app, selectedButtons, ‘purple’);
end
break;
end
end
SORRY FOR THE LONG QUESTION, I’D GLADLY EXPLAIN IF MORE INFO IS NEEDED. THANK YOU IN ADVANCEHi, I’m back. This is quite a long question so I’ll try my best and include as much info as I can to get the question across. In a Matlab script, I have the matrix final_unshuffled has an order, with easy being the first row, medium being the second row, hard being the third row, and expert being the fourth. I have another matrix called FINAL_Shuffled_Columns which is ‘imported’ or ‘read’ (I’m not sure what the technical term is) which is read by an app I have which uses a .Text command to replace the button names with the string names of FINAL_Shuffled_Columns, See Below:
%NB: This is under my Start-Up Function:
function StartUp(app)
MATRIX_VALUES();
mybuttons = [app.Button1,app.Button2,app.Button3,app.Button4,…
app.Button5,app.Button6,app.Button7,app.Button8,…
app.Button9,app.Button10,app.Button11,app.Button12,…
app.Button13,app.Button14,app.Button15,app.Button16];
str = string(FINAL_Shuffled_Columns);
for i = 1:numel(mybuttons)
mybuttons(i).Text = str(i);
end
end
Later on in the code, I want to reference another matrix from the same script called final_unshuffled (See below). However, when I try to run this I get an error saying I have to explicity initialize finalUnshuffled, which means rowAsStrings doesn’t get recognized correctly. I don’t understand because both FINAL_Shuffled_Columns and final_unshuffled are in the same file? So how could one get read but the other one, not? I tried adding final_unshuffled as a property as well and that didn’t work.
MATRIX_VALUES();
selectedButtons = [app.Button1.Text, app.Button2.Text, app.Button3.Text,…
app.Button4.Text, app.Button5.Text, app.Button6.Text, app.Button7.Text,…
app.Button8.Text, app.Button9.Text, app.Button10.Text, app.Button11.Text,…
app.Button12.Text, app.Button13.Text, app.Button14.Text, app.Button15.Text,…
app.Button16.Text];
rowAsStrings = arrayfun(@(idx) strjoin(string(app.finalUnshuffled(idx, :)), " "), 1:4, ‘UniformOutput’, false);
for i = 1:length(rowAsStrings)
if all(ismember(selectedButtons, strsplit(rowsAsStrings{i})))
switch i
case 1 %EASY
setColor(app, selectedButtons, ‘yellow’);
case 2 %MEDIUM
setColor(app, selectedButtons, ‘green’);
case 3 %HARD
setColor(app, selectedButtons, ‘blue’);
case 4 %EXPERT
setColor(app, selectedButtons, ‘purple’);
end
break;
end
end
SORRY FOR THE LONG QUESTION, I’D GLADLY EXPLAIN IF MORE INFO IS NEEDED. THANK YOU IN ADVANCE Hi, I’m back. This is quite a long question so I’ll try my best and include as much info as I can to get the question across. In a Matlab script, I have the matrix final_unshuffled has an order, with easy being the first row, medium being the second row, hard being the third row, and expert being the fourth. I have another matrix called FINAL_Shuffled_Columns which is ‘imported’ or ‘read’ (I’m not sure what the technical term is) which is read by an app I have which uses a .Text command to replace the button names with the string names of FINAL_Shuffled_Columns, See Below:
%NB: This is under my Start-Up Function:
function StartUp(app)
MATRIX_VALUES();
mybuttons = [app.Button1,app.Button2,app.Button3,app.Button4,…
app.Button5,app.Button6,app.Button7,app.Button8,…
app.Button9,app.Button10,app.Button11,app.Button12,…
app.Button13,app.Button14,app.Button15,app.Button16];
str = string(FINAL_Shuffled_Columns);
for i = 1:numel(mybuttons)
mybuttons(i).Text = str(i);
end
end
Later on in the code, I want to reference another matrix from the same script called final_unshuffled (See below). However, when I try to run this I get an error saying I have to explicity initialize finalUnshuffled, which means rowAsStrings doesn’t get recognized correctly. I don’t understand because both FINAL_Shuffled_Columns and final_unshuffled are in the same file? So how could one get read but the other one, not? I tried adding final_unshuffled as a property as well and that didn’t work.
MATRIX_VALUES();
selectedButtons = [app.Button1.Text, app.Button2.Text, app.Button3.Text,…
app.Button4.Text, app.Button5.Text, app.Button6.Text, app.Button7.Text,…
app.Button8.Text, app.Button9.Text, app.Button10.Text, app.Button11.Text,…
app.Button12.Text, app.Button13.Text, app.Button14.Text, app.Button15.Text,…
app.Button16.Text];
rowAsStrings = arrayfun(@(idx) strjoin(string(app.finalUnshuffled(idx, :)), " "), 1:4, ‘UniformOutput’, false);
for i = 1:length(rowAsStrings)
if all(ismember(selectedButtons, strsplit(rowsAsStrings{i})))
switch i
case 1 %EASY
setColor(app, selectedButtons, ‘yellow’);
case 2 %MEDIUM
setColor(app, selectedButtons, ‘green’);
case 3 %HARD
setColor(app, selectedButtons, ‘blue’);
case 4 %EXPERT
setColor(app, selectedButtons, ‘purple’);
end
break;
end
end
SORRY FOR THE LONG QUESTION, I’D GLADLY EXPLAIN IF MORE INFO IS NEEDED. THANK YOU IN ADVANCE appdesigner, reading data MATLAB Answers — New Questions
function handle with input parameters
I need to invoke the ‘eigs’ function to calculate the lowest eigenvalue of a hermitian matrix, which I do not construct explicitly. I thus use a function handle to realize the action of the matrix on a vector. My code is like this
[evector, evalue]=eigs(@fun_Htimesx, dim, 1,’smallestreal’);
In the function ‘fun_Htimesx’, I have
function y = fun_Htimesx(x)
global H transx_many transy_many qx qy Lx Ly
That is, the hermitian matirx ‘H’ and many other parameters are set as global variables so that I do not need to pass them to the function handle.
Now, my question is, how can avoid global variables? How to pass parameters to a function handle?I need to invoke the ‘eigs’ function to calculate the lowest eigenvalue of a hermitian matrix, which I do not construct explicitly. I thus use a function handle to realize the action of the matrix on a vector. My code is like this
[evector, evalue]=eigs(@fun_Htimesx, dim, 1,’smallestreal’);
In the function ‘fun_Htimesx’, I have
function y = fun_Htimesx(x)
global H transx_many transy_many qx qy Lx Ly
That is, the hermitian matirx ‘H’ and many other parameters are set as global variables so that I do not need to pass them to the function handle.
Now, my question is, how can avoid global variables? How to pass parameters to a function handle? I need to invoke the ‘eigs’ function to calculate the lowest eigenvalue of a hermitian matrix, which I do not construct explicitly. I thus use a function handle to realize the action of the matrix on a vector. My code is like this
[evector, evalue]=eigs(@fun_Htimesx, dim, 1,’smallestreal’);
In the function ‘fun_Htimesx’, I have
function y = fun_Htimesx(x)
global H transx_many transy_many qx qy Lx Ly
That is, the hermitian matirx ‘H’ and many other parameters are set as global variables so that I do not need to pass them to the function handle.
Now, my question is, how can avoid global variables? How to pass parameters to a function handle? function handle, eigs MATLAB Answers — New Questions
Boundary conditions in pdepe for 1D parabolic velocity profile
I would like to use pdepe for solving Heat equation in 1D with a non linear coefficient. I know it is possible. But I remain stuck with the boundary condition and pl,pr,ql,qr.
The temperature at the inlet is 0 and at the outlet the derivative for the temperature to distance is zero.I would like to use pdepe for solving Heat equation in 1D with a non linear coefficient. I know it is possible. But I remain stuck with the boundary condition and pl,pr,ql,qr.
The temperature at the inlet is 0 and at the outlet the derivative for the temperature to distance is zero. I would like to use pdepe for solving Heat equation in 1D with a non linear coefficient. I know it is possible. But I remain stuck with the boundary condition and pl,pr,ql,qr.
The temperature at the inlet is 0 and at the outlet the derivative for the temperature to distance is zero. pdepe, bcfun, partial differential equation MATLAB Answers — New Questions
Celsius to Fahrenheit or vice versa
Creating a program to convert Celsius to FahrenheitCreating a program to convert Celsius to Fahrenheit Creating a program to convert Celsius to Fahrenheit disp, celsius, fahrenheit, if, else MATLAB Answers — New Questions
Unable to resolve the name ‘half.typecast’
Hi guys,
I’m trying to understand the following line of code, where data is a 4D array of type uint16.
data_single = single(half.typecast(data));
I tried to digest the line by doing the following
B=half.typecast(data);
,but I’m getting the following error
Unable to resolve the name ‘half.typecast’.
My problem is not with the single part, but with half.typecast() part. Any feedback will be appreciated.Hi guys,
I’m trying to understand the following line of code, where data is a 4D array of type uint16.
data_single = single(half.typecast(data));
I tried to digest the line by doing the following
B=half.typecast(data);
,but I’m getting the following error
Unable to resolve the name ‘half.typecast’.
My problem is not with the single part, but with half.typecast() part. Any feedback will be appreciated. Hi guys,
I’m trying to understand the following line of code, where data is a 4D array of type uint16.
data_single = single(half.typecast(data));
I tried to digest the line by doing the following
B=half.typecast(data);
,but I’m getting the following error
Unable to resolve the name ‘half.typecast’.
My problem is not with the single part, but with half.typecast() part. Any feedback will be appreciated. half, typecast, single MATLAB Answers — New Questions
how to use audiowrite
clear; clc; close all;
data= load(‘am_data.mat’);
d=data.d’;
%
ds = d(16000+1:16000+2560);
%
Ds = fftshift(fft(ds));
%
f = ((-2560/2) : (2560/2 – 1)) * 0.100;
plot(f,abs(Ds));
%
T=1/256000;
t=(1:length(d))*T;
fc=-17000;
%
dm=d.*(exp(-1i*2*pi*t*fc))’;
%
Dm=fftshift(fft(dm(16000+1:16000+2560)));
%
figure();
plot(f,abs(Dm));
%
th = (-100:100)*T;
h = sin(10000*pi*th + 1e-6)./(10000*pi*th+1e-6);
%
figure()
plot(th,h);
%
dmf = conv(dm,h);
%
Dmf = fftshift(fft(dmf(16000+1:16000+2560)));
figure()
plot(f,abs(Dmf));
%
dmfs = dmf(1:32:end)/max(abs(dmf));
sound(real(dmfs));
pause;
%
sound(abs(dmfs));
%
audiowrite(‘test.wav’,dmfs,256000);clear; clc; close all;
data= load(‘am_data.mat’);
d=data.d’;
%
ds = d(16000+1:16000+2560);
%
Ds = fftshift(fft(ds));
%
f = ((-2560/2) : (2560/2 – 1)) * 0.100;
plot(f,abs(Ds));
%
T=1/256000;
t=(1:length(d))*T;
fc=-17000;
%
dm=d.*(exp(-1i*2*pi*t*fc))’;
%
Dm=fftshift(fft(dm(16000+1:16000+2560)));
%
figure();
plot(f,abs(Dm));
%
th = (-100:100)*T;
h = sin(10000*pi*th + 1e-6)./(10000*pi*th+1e-6);
%
figure()
plot(th,h);
%
dmf = conv(dm,h);
%
Dmf = fftshift(fft(dmf(16000+1:16000+2560)));
figure()
plot(f,abs(Dmf));
%
dmfs = dmf(1:32:end)/max(abs(dmf));
sound(real(dmfs));
pause;
%
sound(abs(dmfs));
%
audiowrite(‘test.wav’,dmfs,256000); clear; clc; close all;
data= load(‘am_data.mat’);
d=data.d’;
%
ds = d(16000+1:16000+2560);
%
Ds = fftshift(fft(ds));
%
f = ((-2560/2) : (2560/2 – 1)) * 0.100;
plot(f,abs(Ds));
%
T=1/256000;
t=(1:length(d))*T;
fc=-17000;
%
dm=d.*(exp(-1i*2*pi*t*fc))’;
%
Dm=fftshift(fft(dm(16000+1:16000+2560)));
%
figure();
plot(f,abs(Dm));
%
th = (-100:100)*T;
h = sin(10000*pi*th + 1e-6)./(10000*pi*th+1e-6);
%
figure()
plot(th,h);
%
dmf = conv(dm,h);
%
Dmf = fftshift(fft(dmf(16000+1:16000+2560)));
figure()
plot(f,abs(Dmf));
%
dmfs = dmf(1:32:end)/max(abs(dmf));
sound(real(dmfs));
pause;
%
sound(abs(dmfs));
%
audiowrite(‘test.wav’,dmfs,256000); audiowrite, wavfile MATLAB Answers — New Questions
“Access is denied.” Error
I am running a script where I’m trying to create a directory if the directory doesn’t already exist. The relevant section of my script
if exist(input_all_daily{1}.all_plots_location,’dir’) == 0
mkdir(input_all_daily{1}.all_plots_location)
else
end
Sometimes, when I run this script, I get an "Access is denied." error that references the mkdir line. When I rerun the script without making any changes, the "Access is denied." is no longer generated. I have no idea what do to about this error. Can someone please help?I am running a script where I’m trying to create a directory if the directory doesn’t already exist. The relevant section of my script
if exist(input_all_daily{1}.all_plots_location,’dir’) == 0
mkdir(input_all_daily{1}.all_plots_location)
else
end
Sometimes, when I run this script, I get an "Access is denied." error that references the mkdir line. When I rerun the script without making any changes, the "Access is denied." is no longer generated. I have no idea what do to about this error. Can someone please help? I am running a script where I’m trying to create a directory if the directory doesn’t already exist. The relevant section of my script
if exist(input_all_daily{1}.all_plots_location,’dir’) == 0
mkdir(input_all_daily{1}.all_plots_location)
else
end
Sometimes, when I run this script, I get an "Access is denied." error that references the mkdir line. When I rerun the script without making any changes, the "Access is denied." is no longer generated. I have no idea what do to about this error. Can someone please help? create, access, denied, directory MATLAB Answers — New Questions