Tag Archives: matlab
How to convert the MATLAB code into the Python?
Hello,
I have a matlab code for the quantitative differential phase contrast imaging and the code is very big and complicated as well.
But the problem is the institute where I am working does not allow to use matlab and they have python and LabVIEW, so I would like to convert the matlab code to python or someone knows how to run the matlab code in python then it also be very helpful.
I have attached the main code.
Thank you.Hello,
I have a matlab code for the quantitative differential phase contrast imaging and the code is very big and complicated as well.
But the problem is the institute where I am working does not allow to use matlab and they have python and LabVIEW, so I would like to convert the matlab code to python or someone knows how to run the matlab code in python then it also be very helpful.
I have attached the main code.
Thank you. Hello,
I have a matlab code for the quantitative differential phase contrast imaging and the code is very big and complicated as well.
But the problem is the institute where I am working does not allow to use matlab and they have python and LabVIEW, so I would like to convert the matlab code to python or someone knows how to run the matlab code in python then it also be very helpful.
I have attached the main code.
Thank you. matlab to python, matlab python interface MATLAB Answers — New Questions
Fill color inside stair.
Hi all, I has two figures are plotted together. I want to fille colors within stairs but don’t know how to do.
figure;
h1 = histogram(data1, ‘BinWidth’, 0.1,’DisplayStyle’,’stairs’,’Normalization’, ‘probability’);
h1.EdgeColor = ‘k’;
h1.LineWidth = 2;
% h1.FaceAlpha = 0.2;
hold on;
h2 = histogram(data2, ‘BinWidth’, 0.1,’DisplayStyle’,’stairs’,’Normalization’, ‘probability’);
h2.EdgeColor = [0.772, 0.012, 0.314];
h2.LineWidth = 2;
% h2.FaceAlpha = 0.2; %
xlim([0 2]);
xticks(0:0.1:2);
% Customize font and frame properties
ax = gca;
ax.FontSize = 16;
ax.FontWeight = ‘bold’;
ax.LineWidth = 4;Hi all, I has two figures are plotted together. I want to fille colors within stairs but don’t know how to do.
figure;
h1 = histogram(data1, ‘BinWidth’, 0.1,’DisplayStyle’,’stairs’,’Normalization’, ‘probability’);
h1.EdgeColor = ‘k’;
h1.LineWidth = 2;
% h1.FaceAlpha = 0.2;
hold on;
h2 = histogram(data2, ‘BinWidth’, 0.1,’DisplayStyle’,’stairs’,’Normalization’, ‘probability’);
h2.EdgeColor = [0.772, 0.012, 0.314];
h2.LineWidth = 2;
% h2.FaceAlpha = 0.2; %
xlim([0 2]);
xticks(0:0.1:2);
% Customize font and frame properties
ax = gca;
ax.FontSize = 16;
ax.FontWeight = ‘bold’;
ax.LineWidth = 4; Hi all, I has two figures are plotted together. I want to fille colors within stairs but don’t know how to do.
figure;
h1 = histogram(data1, ‘BinWidth’, 0.1,’DisplayStyle’,’stairs’,’Normalization’, ‘probability’);
h1.EdgeColor = ‘k’;
h1.LineWidth = 2;
% h1.FaceAlpha = 0.2;
hold on;
h2 = histogram(data2, ‘BinWidth’, 0.1,’DisplayStyle’,’stairs’,’Normalization’, ‘probability’);
h2.EdgeColor = [0.772, 0.012, 0.314];
h2.LineWidth = 2;
% h2.FaceAlpha = 0.2; %
xlim([0 2]);
xticks(0:0.1:2);
% Customize font and frame properties
ax = gca;
ax.FontSize = 16;
ax.FontWeight = ‘bold’;
ax.LineWidth = 4; histogram MATLAB Answers — New Questions
Derivative of state is not finite (integrator error)
Hi,
I am currently feacing a problem with my simulink model. The model is a complex network where I need to calculate and pass mass flow and pressures through several subsystems. The model works fine for some situations, with spesific inputs (mass flows), but with large variation in the inputs I get the following error message:
I have tried a lot of differet approaches to resolve the problem, among other things;
Reduce the fixed step size.
Tightening the error tolerances.
Using unit delay block or a swich block.
Creating Self-Resetting integrators, but then this error occured: "State ports can only be used to break algebraic loops or to "hand-off " states between systems."
Using different solvers such as ode15s, ode45 and odeN.
This has worked for some situations, but then the error reoccurs with a different input later on.
The error occurs in the integrator block in the following subsystem:
I would really appreciate some guidance on this problem, it would really help me out a lot. Thank you in advance.Hi,
I am currently feacing a problem with my simulink model. The model is a complex network where I need to calculate and pass mass flow and pressures through several subsystems. The model works fine for some situations, with spesific inputs (mass flows), but with large variation in the inputs I get the following error message:
I have tried a lot of differet approaches to resolve the problem, among other things;
Reduce the fixed step size.
Tightening the error tolerances.
Using unit delay block or a swich block.
Creating Self-Resetting integrators, but then this error occured: "State ports can only be used to break algebraic loops or to "hand-off " states between systems."
Using different solvers such as ode15s, ode45 and odeN.
This has worked for some situations, but then the error reoccurs with a different input later on.
The error occurs in the integrator block in the following subsystem:
I would really appreciate some guidance on this problem, it would really help me out a lot. Thank you in advance. Hi,
I am currently feacing a problem with my simulink model. The model is a complex network where I need to calculate and pass mass flow and pressures through several subsystems. The model works fine for some situations, with spesific inputs (mass flows), but with large variation in the inputs I get the following error message:
I have tried a lot of differet approaches to resolve the problem, among other things;
Reduce the fixed step size.
Tightening the error tolerances.
Using unit delay block or a swich block.
Creating Self-Resetting integrators, but then this error occured: "State ports can only be used to break algebraic loops or to "hand-off " states between systems."
Using different solvers such as ode15s, ode45 and odeN.
This has worked for some situations, but then the error reoccurs with a different input later on.
The error occurs in the integrator block in the following subsystem:
I would really appreciate some guidance on this problem, it would really help me out a lot. Thank you in advance. integration, derivative, simulink, algebraic loop, error, model MATLAB Answers — New Questions
How to exclude a certain value from a range?
Suppose a variable has upper limit and lower limit of 1 and 54 [1 54] and I and to exclude one value say 30 from it. How to it?
For example:
a = [0 576;0 100; 0 140;0 100;0 550;0 100;0 410];
b = [0.95 1.1;0.95 1.1;0.95 1.1;0.95 1.1;0.95 1.1;0.95 1.1;0.95 1.1];
c = [0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1];
d = [0 20;0 20;0 20];
e = [2 7; 2 7; 2 7];
limit = [a;b;c;d;e]’;
In this case from e, I want to exclude the value 6.Suppose a variable has upper limit and lower limit of 1 and 54 [1 54] and I and to exclude one value say 30 from it. How to it?
For example:
a = [0 576;0 100; 0 140;0 100;0 550;0 100;0 410];
b = [0.95 1.1;0.95 1.1;0.95 1.1;0.95 1.1;0.95 1.1;0.95 1.1;0.95 1.1];
c = [0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1];
d = [0 20;0 20;0 20];
e = [2 7; 2 7; 2 7];
limit = [a;b;c;d;e]’;
In this case from e, I want to exclude the value 6. Suppose a variable has upper limit and lower limit of 1 and 54 [1 54] and I and to exclude one value say 30 from it. How to it?
For example:
a = [0 576;0 100; 0 140;0 100;0 550;0 100;0 410];
b = [0.95 1.1;0.95 1.1;0.95 1.1;0.95 1.1;0.95 1.1;0.95 1.1;0.95 1.1];
c = [0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1;0.9 1.1];
d = [0 20;0 20;0 20];
e = [2 7; 2 7; 2 7];
limit = [a;b;c;d;e]’;
In this case from e, I want to exclude the value 6. optimization, logical indexing, masking MATLAB Answers — New Questions
Why do agents trained by the reinforcement learning PPO algorithm get different results each time they load?
In the process of reinforcement learning, a problem will be encountered. During the training process, an effective agent will appear. At this time, the training will be finished in advance, but the result of the saved agent running out will be worseIn the process of reinforcement learning, a problem will be encountered. During the training process, an effective agent will appear. At this time, the training will be finished in advance, but the result of the saved agent running out will be worse In the process of reinforcement learning, a problem will be encountered. During the training process, an effective agent will appear. At this time, the training will be finished in advance, but the result of the saved agent running out will be worse problems in reinforcement learning training MATLAB Answers — New Questions
Closed loop with LSTM for time series
Dear All
I am in troubling trying to perform a multi-ahead (closed loop) forecasting for a time series. I use Matlab2024 and the "old" command predictAndUpdate does not work with dlnetwork objects. I saw all the possible documentation, theoretically I can manage the question but practically not!. I sum up the excercise. Single univariate time serie (stock price) in LSTM net. No problem with trainnet and predict using historical training and test data. Now I’d like to go out of test data. This is the code
X = (XTest);
T = YTest;
%net2 is a dlnetwork object
offset = length(X);
[Z,state] = predict(net2,X(1:offset)); %predict and update state using test data
net2.State = state;
% five-steps ahead
numPredictionTimeSteps = 5;
Y = (zeros(numPredictionTimeSteps));
Y(1,:) = Z(end); %use the last forecast as starting point for the loop
for t = 2:numPredictionTimeSteps
[Y(:,t),state] = predict(net2,Y(:,t-1));
net2.State = state;
end
%I got:
Error using extractState (line 41)
If the hidden state argument is a matrix, then its number of observations must match the number of observations of the
input data.
I found a similar question on the web for the GRU net. If I restart the net before the loop (as suggested) it works but the forecast is very poor, so I wonder whether the restart can affect such a result. Is there an alternative to reset? I attach the data and the net.
thanks in advanceDear All
I am in troubling trying to perform a multi-ahead (closed loop) forecasting for a time series. I use Matlab2024 and the "old" command predictAndUpdate does not work with dlnetwork objects. I saw all the possible documentation, theoretically I can manage the question but practically not!. I sum up the excercise. Single univariate time serie (stock price) in LSTM net. No problem with trainnet and predict using historical training and test data. Now I’d like to go out of test data. This is the code
X = (XTest);
T = YTest;
%net2 is a dlnetwork object
offset = length(X);
[Z,state] = predict(net2,X(1:offset)); %predict and update state using test data
net2.State = state;
% five-steps ahead
numPredictionTimeSteps = 5;
Y = (zeros(numPredictionTimeSteps));
Y(1,:) = Z(end); %use the last forecast as starting point for the loop
for t = 2:numPredictionTimeSteps
[Y(:,t),state] = predict(net2,Y(:,t-1));
net2.State = state;
end
%I got:
Error using extractState (line 41)
If the hidden state argument is a matrix, then its number of observations must match the number of observations of the
input data.
I found a similar question on the web for the GRU net. If I restart the net before the loop (as suggested) it works but the forecast is very poor, so I wonder whether the restart can affect such a result. Is there an alternative to reset? I attach the data and the net.
thanks in advance Dear All
I am in troubling trying to perform a multi-ahead (closed loop) forecasting for a time series. I use Matlab2024 and the "old" command predictAndUpdate does not work with dlnetwork objects. I saw all the possible documentation, theoretically I can manage the question but practically not!. I sum up the excercise. Single univariate time serie (stock price) in LSTM net. No problem with trainnet and predict using historical training and test data. Now I’d like to go out of test data. This is the code
X = (XTest);
T = YTest;
%net2 is a dlnetwork object
offset = length(X);
[Z,state] = predict(net2,X(1:offset)); %predict and update state using test data
net2.State = state;
% five-steps ahead
numPredictionTimeSteps = 5;
Y = (zeros(numPredictionTimeSteps));
Y(1,:) = Z(end); %use the last forecast as starting point for the loop
for t = 2:numPredictionTimeSteps
[Y(:,t),state] = predict(net2,Y(:,t-1));
net2.State = state;
end
%I got:
Error using extractState (line 41)
If the hidden state argument is a matrix, then its number of observations must match the number of observations of the
input data.
I found a similar question on the web for the GRU net. If I restart the net before the loop (as suggested) it works but the forecast is very poor, so I wonder whether the restart can affect such a result. Is there an alternative to reset? I attach the data and the net.
thanks in advance lstm closed loop MATLAB Answers — New Questions
3D mandelbrot fractal with nodes that give information
Hello,
I’m building a 3D mandelbrot set with nodes that give information.
For example, if this was the equation:
Tree = Sum(n=1 to infinity) n^3 Sum (n=1 to infinity n^3) [ Integral (t=0 to infinity) TreeSpace^4 dTreeSpace/dt [Integral (t=0 to infinity) Carbon^4 dCarbon/dt + Integral (t=0 to infinity) Oxygen^4 dO/dt + Integral (t=0 to infinity) Nitrogen^4 dN/dt + Integral (t=0 to infinity) P^3 dP/dt]]
Then the mandelbrot set would be
for (C1=1 to infinity)
for (C2=1 to infinity)
for (C3=1 to infiinity)
for (C4 = 1 to infinity)
for (C5=1 to infinity)
for (C6=1 to infinity)
for (C7= 1 to infinity)
zn+1(series)=[zn^3+C1, zn^3+C2]
zn+1(treespace) = [zn^4(Carbon)dC/dt + C4, zn^4(O)dO/dt + C5, zn^4(N)dN/dt + C6, zn^4(P)dP/dt + C7]
End All for
And if the resulted 3D set is a tree I would be able to tell when the leaves fall and turn colors by hovering over the leaves. I would be able to tell when the tree root dies by hovering over the root. it would be color coded by elements.
I’m probably going to use this set: https://github.com/thargor6/mb3d
This is just a mockup, as the original is a trade secret and not a tree. Please advise. Need lots of help. Please walk me through one step at a time in Matlab. I don’t know if I got the zn+1’s right or how to use the github set.
Note, the first and second dimension of the fractal is the two infinite series. The third is the treespace, wrapped up in the elements by mandelbrot sets. it all happens over time.
I have matlab installed, standard Matlab. I can get a github subscription if needed, it’s only $4 a month. Let me know.
Look at these examples: https://idatavisualizationlab.github.io/researchProjects.html
Thank you.Hello,
I’m building a 3D mandelbrot set with nodes that give information.
For example, if this was the equation:
Tree = Sum(n=1 to infinity) n^3 Sum (n=1 to infinity n^3) [ Integral (t=0 to infinity) TreeSpace^4 dTreeSpace/dt [Integral (t=0 to infinity) Carbon^4 dCarbon/dt + Integral (t=0 to infinity) Oxygen^4 dO/dt + Integral (t=0 to infinity) Nitrogen^4 dN/dt + Integral (t=0 to infinity) P^3 dP/dt]]
Then the mandelbrot set would be
for (C1=1 to infinity)
for (C2=1 to infinity)
for (C3=1 to infiinity)
for (C4 = 1 to infinity)
for (C5=1 to infinity)
for (C6=1 to infinity)
for (C7= 1 to infinity)
zn+1(series)=[zn^3+C1, zn^3+C2]
zn+1(treespace) = [zn^4(Carbon)dC/dt + C4, zn^4(O)dO/dt + C5, zn^4(N)dN/dt + C6, zn^4(P)dP/dt + C7]
End All for
And if the resulted 3D set is a tree I would be able to tell when the leaves fall and turn colors by hovering over the leaves. I would be able to tell when the tree root dies by hovering over the root. it would be color coded by elements.
I’m probably going to use this set: https://github.com/thargor6/mb3d
This is just a mockup, as the original is a trade secret and not a tree. Please advise. Need lots of help. Please walk me through one step at a time in Matlab. I don’t know if I got the zn+1’s right or how to use the github set.
Note, the first and second dimension of the fractal is the two infinite series. The third is the treespace, wrapped up in the elements by mandelbrot sets. it all happens over time.
I have matlab installed, standard Matlab. I can get a github subscription if needed, it’s only $4 a month. Let me know.
Look at these examples: https://idatavisualizationlab.github.io/researchProjects.html
Thank you. Hello,
I’m building a 3D mandelbrot set with nodes that give information.
For example, if this was the equation:
Tree = Sum(n=1 to infinity) n^3 Sum (n=1 to infinity n^3) [ Integral (t=0 to infinity) TreeSpace^4 dTreeSpace/dt [Integral (t=0 to infinity) Carbon^4 dCarbon/dt + Integral (t=0 to infinity) Oxygen^4 dO/dt + Integral (t=0 to infinity) Nitrogen^4 dN/dt + Integral (t=0 to infinity) P^3 dP/dt]]
Then the mandelbrot set would be
for (C1=1 to infinity)
for (C2=1 to infinity)
for (C3=1 to infiinity)
for (C4 = 1 to infinity)
for (C5=1 to infinity)
for (C6=1 to infinity)
for (C7= 1 to infinity)
zn+1(series)=[zn^3+C1, zn^3+C2]
zn+1(treespace) = [zn^4(Carbon)dC/dt + C4, zn^4(O)dO/dt + C5, zn^4(N)dN/dt + C6, zn^4(P)dP/dt + C7]
End All for
And if the resulted 3D set is a tree I would be able to tell when the leaves fall and turn colors by hovering over the leaves. I would be able to tell when the tree root dies by hovering over the root. it would be color coded by elements.
I’m probably going to use this set: https://github.com/thargor6/mb3d
This is just a mockup, as the original is a trade secret and not a tree. Please advise. Need lots of help. Please walk me through one step at a time in Matlab. I don’t know if I got the zn+1’s right or how to use the github set.
Note, the first and second dimension of the fractal is the two infinite series. The third is the treespace, wrapped up in the elements by mandelbrot sets. it all happens over time.
I have matlab installed, standard Matlab. I can get a github subscription if needed, it’s only $4 a month. Let me know.
Look at these examples: https://idatavisualizationlab.github.io/researchProjects.html
Thank you. 3d, for, matlab, matlab coder, matlab code MATLAB Answers — New Questions
BeagleBone Support Package Linux Costumization
When I try to connect my BeagleBone to Matlab/Simulink using Matlab’s instructions (https://de.mathworks.com/help/supportpkg/beaglebone/ug/install-target-for-beaglebone-black-hardware.html) I manage to get until step 6 (under "Complete Setup Tasks"). As soon as I hit start to update the firmware, the wait bar reacts for a second before stopping and showing "Retry" on the button.
Has anyone come across the same problem and was able to solve it?When I try to connect my BeagleBone to Matlab/Simulink using Matlab’s instructions (https://de.mathworks.com/help/supportpkg/beaglebone/ug/install-target-for-beaglebone-black-hardware.html) I manage to get until step 6 (under "Complete Setup Tasks"). As soon as I hit start to update the firmware, the wait bar reacts for a second before stopping and showing "Retry" on the button.
Has anyone come across the same problem and was able to solve it? When I try to connect my BeagleBone to Matlab/Simulink using Matlab’s instructions (https://de.mathworks.com/help/supportpkg/beaglebone/ug/install-target-for-beaglebone-black-hardware.html) I manage to get until step 6 (under "Complete Setup Tasks"). As soon as I hit start to update the firmware, the wait bar reacts for a second before stopping and showing "Retry" on the button.
Has anyone come across the same problem and was able to solve it? beaglebone, embedded coder, linux MATLAB Answers — New Questions
Baeglebone Black in Simulink can’t handle sample time of 0.001s.
Beeaglebone black with simulink can’t handle 1kHz. I am trying with just a Led blinking example. When I put 0.001s of sample time in the model configuration panel and StopTime simulation of 10s. Looks like the BBB is taking longer than 10s to finish the code. I am also deploying the code to the hardware, not seeing any signal in "real time".Beeaglebone black with simulink can’t handle 1kHz. I am trying with just a Led blinking example. When I put 0.001s of sample time in the model configuration panel and StopTime simulation of 10s. Looks like the BBB is taking longer than 10s to finish the code. I am also deploying the code to the hardware, not seeing any signal in "real time". Beeaglebone black with simulink can’t handle 1kHz. I am trying with just a Led blinking example. When I put 0.001s of sample time in the model configuration panel and StopTime simulation of 10s. Looks like the BBB is taking longer than 10s to finish the code. I am also deploying the code to the hardware, not seeing any signal in "real time". beaglebone black, simulink MATLAB Answers — New Questions
Narx network in real-time task
Good afternoon,
I understand that the topic of NARX networks has been discussed here for over 10 years, but I would like to revisit it.
I attempted to implement a solution for processing data from a sensor in real-time, but unfortunately, I could not find any examples demonstrating how to do this correctly. Most publications on this topic either conclude with a performance evaluation of the network or focus on discussions of the code generated by the application.
Let me share some code:
% targer timeseries
T = num2cell(lfarr(1:8000));
% input timeseries from sensor
X = num2cell(source(1:8000));
The signals are extremely simple – data from the sensor and its smoothed version.
Next, I followed the standard steps outlined in the documentation and various discussions on this forum:
%create narxnet
sh = 7
d1 = [1:sh];
d2 = [1:sh];
narx_net = narxnet(d1,d2,20);
narx_netnet.divideFcn = ‘divideblock’;
(If Greg suddenly comes, tell him that I remember about autocorrelation and am already carefully studying his code from user group :))
% standard data preparation
[Xs,Xi,Ai,Ts] = preparets(narx_net,X,{},T);
% training
rng( ‘default’ )
[narx_net, tr, Ys, Es, Xf, Af ] = train(narx_net,Xs,Ts,Xi,Ai);
% performance evaluation
[Y,Xf,Af] = narx_net(Xs,Xi,Ai);
perf = perform(narx_net,Ts,Y) % perf = 3.4381e-08. I think it’s not bad.
The regression diagram speaks for itself
Next I close the network and simulate signal processing on the remainder of the data that the network has not seen.
Here, I tried to base my approach on the last two paragraphs of the documentation – Following Closed-Loop Simulation with Open-Loop Simulation.
[narx_netc,Xic,Aic] = closeloop(narx_net, Xf, Af);
% number of prediction steps
k = 5;
% A loop that simulates a real-time data flow
for i = 8001:length(lf_arr)
% getting a new value from the sensor
newSensorValue = num2cell(source(i));
% local variable for indexing the prediction array
ii = 1;
% array of predictions
res = [];
% predictions for k steps
for j=i:i+k
[Yc, Xic, Aic] = narx_netc(newSensorValue, Xic, Aic);
% disp([‘Predicted meaning: ‘, num2str(cell2mat(Yc))]);
res(ii) = cell2mat(Yc);
ii = ii+1;
end
% saving results
res1(i-8000,:) = res’;
% form new input and target arrays with new input value and the predicted result
u = [X(2:end),newSensorValue];
y = [T(2:end), {res(1)}];
% repeating initialization cycle for next simulation step
[X1,Xi,Ai,T1] = preparets(narx_net,u,{},y);
[Y,Xio,Aio] = narx_net(X1,Xi,Ai);
[narx_netc,Xic,Aic] = closeloop(narx_net, Xio, Aio);
end
The network starts working, but after some steps its normal operation stops.
I would be immensely grateful for any insights into where my reasoning or actions might have gone astray.
ThanksGood afternoon,
I understand that the topic of NARX networks has been discussed here for over 10 years, but I would like to revisit it.
I attempted to implement a solution for processing data from a sensor in real-time, but unfortunately, I could not find any examples demonstrating how to do this correctly. Most publications on this topic either conclude with a performance evaluation of the network or focus on discussions of the code generated by the application.
Let me share some code:
% targer timeseries
T = num2cell(lfarr(1:8000));
% input timeseries from sensor
X = num2cell(source(1:8000));
The signals are extremely simple – data from the sensor and its smoothed version.
Next, I followed the standard steps outlined in the documentation and various discussions on this forum:
%create narxnet
sh = 7
d1 = [1:sh];
d2 = [1:sh];
narx_net = narxnet(d1,d2,20);
narx_netnet.divideFcn = ‘divideblock’;
(If Greg suddenly comes, tell him that I remember about autocorrelation and am already carefully studying his code from user group :))
% standard data preparation
[Xs,Xi,Ai,Ts] = preparets(narx_net,X,{},T);
% training
rng( ‘default’ )
[narx_net, tr, Ys, Es, Xf, Af ] = train(narx_net,Xs,Ts,Xi,Ai);
% performance evaluation
[Y,Xf,Af] = narx_net(Xs,Xi,Ai);
perf = perform(narx_net,Ts,Y) % perf = 3.4381e-08. I think it’s not bad.
The regression diagram speaks for itself
Next I close the network and simulate signal processing on the remainder of the data that the network has not seen.
Here, I tried to base my approach on the last two paragraphs of the documentation – Following Closed-Loop Simulation with Open-Loop Simulation.
[narx_netc,Xic,Aic] = closeloop(narx_net, Xf, Af);
% number of prediction steps
k = 5;
% A loop that simulates a real-time data flow
for i = 8001:length(lf_arr)
% getting a new value from the sensor
newSensorValue = num2cell(source(i));
% local variable for indexing the prediction array
ii = 1;
% array of predictions
res = [];
% predictions for k steps
for j=i:i+k
[Yc, Xic, Aic] = narx_netc(newSensorValue, Xic, Aic);
% disp([‘Predicted meaning: ‘, num2str(cell2mat(Yc))]);
res(ii) = cell2mat(Yc);
ii = ii+1;
end
% saving results
res1(i-8000,:) = res’;
% form new input and target arrays with new input value and the predicted result
u = [X(2:end),newSensorValue];
y = [T(2:end), {res(1)}];
% repeating initialization cycle for next simulation step
[X1,Xi,Ai,T1] = preparets(narx_net,u,{},y);
[Y,Xio,Aio] = narx_net(X1,Xi,Ai);
[narx_netc,Xic,Aic] = closeloop(narx_net, Xio, Aio);
end
The network starts working, but after some steps its normal operation stops.
I would be immensely grateful for any insights into where my reasoning or actions might have gone astray.
Thanks Good afternoon,
I understand that the topic of NARX networks has been discussed here for over 10 years, but I would like to revisit it.
I attempted to implement a solution for processing data from a sensor in real-time, but unfortunately, I could not find any examples demonstrating how to do this correctly. Most publications on this topic either conclude with a performance evaluation of the network or focus on discussions of the code generated by the application.
Let me share some code:
% targer timeseries
T = num2cell(lfarr(1:8000));
% input timeseries from sensor
X = num2cell(source(1:8000));
The signals are extremely simple – data from the sensor and its smoothed version.
Next, I followed the standard steps outlined in the documentation and various discussions on this forum:
%create narxnet
sh = 7
d1 = [1:sh];
d2 = [1:sh];
narx_net = narxnet(d1,d2,20);
narx_netnet.divideFcn = ‘divideblock’;
(If Greg suddenly comes, tell him that I remember about autocorrelation and am already carefully studying his code from user group :))
% standard data preparation
[Xs,Xi,Ai,Ts] = preparets(narx_net,X,{},T);
% training
rng( ‘default’ )
[narx_net, tr, Ys, Es, Xf, Af ] = train(narx_net,Xs,Ts,Xi,Ai);
% performance evaluation
[Y,Xf,Af] = narx_net(Xs,Xi,Ai);
perf = perform(narx_net,Ts,Y) % perf = 3.4381e-08. I think it’s not bad.
The regression diagram speaks for itself
Next I close the network and simulate signal processing on the remainder of the data that the network has not seen.
Here, I tried to base my approach on the last two paragraphs of the documentation – Following Closed-Loop Simulation with Open-Loop Simulation.
[narx_netc,Xic,Aic] = closeloop(narx_net, Xf, Af);
% number of prediction steps
k = 5;
% A loop that simulates a real-time data flow
for i = 8001:length(lf_arr)
% getting a new value from the sensor
newSensorValue = num2cell(source(i));
% local variable for indexing the prediction array
ii = 1;
% array of predictions
res = [];
% predictions for k steps
for j=i:i+k
[Yc, Xic, Aic] = narx_netc(newSensorValue, Xic, Aic);
% disp([‘Predicted meaning: ‘, num2str(cell2mat(Yc))]);
res(ii) = cell2mat(Yc);
ii = ii+1;
end
% saving results
res1(i-8000,:) = res’;
% form new input and target arrays with new input value and the predicted result
u = [X(2:end),newSensorValue];
y = [T(2:end), {res(1)}];
% repeating initialization cycle for next simulation step
[X1,Xi,Ai,T1] = preparets(narx_net,u,{},y);
[Y,Xio,Aio] = narx_net(X1,Xi,Ai);
[narx_netc,Xic,Aic] = closeloop(narx_net, Xio, Aio);
end
The network starts working, but after some steps its normal operation stops.
I would be immensely grateful for any insights into where my reasoning or actions might have gone astray.
Thanks narx network MATLAB Answers — New Questions
How to resolve EDO System
Hi,
I need to know how to resolve EDO System with MATLAB. The system has this structure:
A*x̄’ + B*x̄ + C = 0
A, B are square matrix with constant coefficients. Example: A = [a b; c d]; and B = [e f; g h];
C is the constant vector transposed. Example: C = [i j]’;
x̄ is the vector transposed of the variables/functions I need to find. Example: x̄ = [x1 x2]’;
x̄’ is the vector transposed of the derivative of the variables/functions I need to find. Example: x̄’ = [dx1/dt dx2/dt]’;
The example is made for a EDO System of 2 differential equations. But It would be interesting if MATLAB could resolve a n x n matrix.
Any suggestion?Hi,
I need to know how to resolve EDO System with MATLAB. The system has this structure:
A*x̄’ + B*x̄ + C = 0
A, B are square matrix with constant coefficients. Example: A = [a b; c d]; and B = [e f; g h];
C is the constant vector transposed. Example: C = [i j]’;
x̄ is the vector transposed of the variables/functions I need to find. Example: x̄ = [x1 x2]’;
x̄’ is the vector transposed of the derivative of the variables/functions I need to find. Example: x̄’ = [dx1/dt dx2/dt]’;
The example is made for a EDO System of 2 differential equations. But It would be interesting if MATLAB could resolve a n x n matrix.
Any suggestion? Hi,
I need to know how to resolve EDO System with MATLAB. The system has this structure:
A*x̄’ + B*x̄ + C = 0
A, B are square matrix with constant coefficients. Example: A = [a b; c d]; and B = [e f; g h];
C is the constant vector transposed. Example: C = [i j]’;
x̄ is the vector transposed of the variables/functions I need to find. Example: x̄ = [x1 x2]’;
x̄’ is the vector transposed of the derivative of the variables/functions I need to find. Example: x̄’ = [dx1/dt dx2/dt]’;
The example is made for a EDO System of 2 differential equations. But It would be interesting if MATLAB could resolve a n x n matrix.
Any suggestion? second order edo system MATLAB Answers — New Questions
Matlab creates netcdf file but can’t open it later(ERROR: The NetCDF library encountered an error during execution of ‘open’ function – ‘Unknown file format (NC_ENOTNC)’
Hello, I’ve encountered a problem with NetCDF library, I would be very grateful for any tips how to solve it.
I’m trying to create a netcdffile and write variables in it. But for some reason after creating a file I can’t reach it anyhow (nccreate, ncdisp are getting the same error):
ncid = netcdf.create(‘F:GLORYS_dayARCGLORYS_surf.nc’,’NETCDF4′);
nccreate(‘F:GLORYS_dayARCGLORYS_surf.nc’,’Lat’,’Dimensions’,{‘Lat’ 205});
Error using matlab.internal.imagesci.netcdflib
The NetCDF library encountered an error during execution of ‘open’ function – ‘Unknown file format (NC_ENOTNC)’.
Error in netcdf.open (line 77)
[varargout{:}] = matlab.internal.imagesci.netcdflib(‘open’, …
Error in internal.matlab.imagesci.nc/openToAppend (line 1250)
this.ncRootid = netcdf.open(this.Filename,’WRITE’);
Error in internal.matlab.imagesci.nc (line 126)
this.openToAppend();
Error in nccreate (line 159)
ncObj = internal.matlab.imagesci.nc(ncFile,’a’, formatStr);
Error in export_to_netcdf (line 10)
nccreate(‘F:GLORYS_dayARCGLORYS_surf.nc’,’Lat’,’Dimensions’,{‘Lat’ 205});Hello, I’ve encountered a problem with NetCDF library, I would be very grateful for any tips how to solve it.
I’m trying to create a netcdffile and write variables in it. But for some reason after creating a file I can’t reach it anyhow (nccreate, ncdisp are getting the same error):
ncid = netcdf.create(‘F:GLORYS_dayARCGLORYS_surf.nc’,’NETCDF4′);
nccreate(‘F:GLORYS_dayARCGLORYS_surf.nc’,’Lat’,’Dimensions’,{‘Lat’ 205});
Error using matlab.internal.imagesci.netcdflib
The NetCDF library encountered an error during execution of ‘open’ function – ‘Unknown file format (NC_ENOTNC)’.
Error in netcdf.open (line 77)
[varargout{:}] = matlab.internal.imagesci.netcdflib(‘open’, …
Error in internal.matlab.imagesci.nc/openToAppend (line 1250)
this.ncRootid = netcdf.open(this.Filename,’WRITE’);
Error in internal.matlab.imagesci.nc (line 126)
this.openToAppend();
Error in nccreate (line 159)
ncObj = internal.matlab.imagesci.nc(ncFile,’a’, formatStr);
Error in export_to_netcdf (line 10)
nccreate(‘F:GLORYS_dayARCGLORYS_surf.nc’,’Lat’,’Dimensions’,{‘Lat’ 205}); Hello, I’ve encountered a problem with NetCDF library, I would be very grateful for any tips how to solve it.
I’m trying to create a netcdffile and write variables in it. But for some reason after creating a file I can’t reach it anyhow (nccreate, ncdisp are getting the same error):
ncid = netcdf.create(‘F:GLORYS_dayARCGLORYS_surf.nc’,’NETCDF4′);
nccreate(‘F:GLORYS_dayARCGLORYS_surf.nc’,’Lat’,’Dimensions’,{‘Lat’ 205});
Error using matlab.internal.imagesci.netcdflib
The NetCDF library encountered an error during execution of ‘open’ function – ‘Unknown file format (NC_ENOTNC)’.
Error in netcdf.open (line 77)
[varargout{:}] = matlab.internal.imagesci.netcdflib(‘open’, …
Error in internal.matlab.imagesci.nc/openToAppend (line 1250)
this.ncRootid = netcdf.open(this.Filename,’WRITE’);
Error in internal.matlab.imagesci.nc (line 126)
this.openToAppend();
Error in nccreate (line 159)
ncObj = internal.matlab.imagesci.nc(ncFile,’a’, formatStr);
Error in export_to_netcdf (line 10)
nccreate(‘F:GLORYS_dayARCGLORYS_surf.nc’,’Lat’,’Dimensions’,{‘Lat’ 205}); netcdf MATLAB Answers — New Questions
Problem with Fuzzy controller blocks in simulink
I’ve already developed a control model by using fuzzy controller in simulink. there are some problems that seems like bugs. If you just agree with me please let me know how can I report this bugs to _Mathworks_ respondents?
1. When I use a fuzzy controller block with rule viewer, the block output is zero all the time however rule viewer works properly and show true outputs. When I try to show block output signal by using the tool _show value label of the port_ I see that the value is _grounded_ all the time.
2. The aforementioned problem does not exist for the fuzzy controller block without rule viewer. But there is another problem. The fuzzy controller works properly since a point time and after that reports zero in the rest of the simulation. I’m sure that this problem does not come from my fuzzy structure file and rule base because I’ve checked it outside simulink in programming environment. it works properly.
Thanks in advance
PouyaI’ve already developed a control model by using fuzzy controller in simulink. there are some problems that seems like bugs. If you just agree with me please let me know how can I report this bugs to _Mathworks_ respondents?
1. When I use a fuzzy controller block with rule viewer, the block output is zero all the time however rule viewer works properly and show true outputs. When I try to show block output signal by using the tool _show value label of the port_ I see that the value is _grounded_ all the time.
2. The aforementioned problem does not exist for the fuzzy controller block without rule viewer. But there is another problem. The fuzzy controller works properly since a point time and after that reports zero in the rest of the simulation. I’m sure that this problem does not come from my fuzzy structure file and rule base because I’ve checked it outside simulink in programming environment. it works properly.
Thanks in advance
Pouya I’ve already developed a control model by using fuzzy controller in simulink. there are some problems that seems like bugs. If you just agree with me please let me know how can I report this bugs to _Mathworks_ respondents?
1. When I use a fuzzy controller block with rule viewer, the block output is zero all the time however rule viewer works properly and show true outputs. When I try to show block output signal by using the tool _show value label of the port_ I see that the value is _grounded_ all the time.
2. The aforementioned problem does not exist for the fuzzy controller block without rule viewer. But there is another problem. The fuzzy controller works properly since a point time and after that reports zero in the rest of the simulation. I’m sure that this problem does not come from my fuzzy structure file and rule base because I’ve checked it outside simulink in programming environment. it works properly.
Thanks in advance
Pouya bug, fuzzy block with rule viewer, fuzzy control systems MATLAB Answers — New Questions
Make figure without white border
I have a piece of code that plots a surface, and I feel it is ready for being included into the report. The only thing is that the figure has a quite large white border which substantially increases the size of it. I would like to have the unnecessary white space reduced to a minimum.
I did try
set(gca,’LooseInset’,get(gca,’TightInset’))
But this cuts off my z-axis label. Is there an easy way to achieve this? With LaTeX, we can simply use the standalone documentclass with PGFplots/tikz, but I don’t think there’s a simple keyword or option to do this with matlab. I’m using R2016b.I have a piece of code that plots a surface, and I feel it is ready for being included into the report. The only thing is that the figure has a quite large white border which substantially increases the size of it. I would like to have the unnecessary white space reduced to a minimum.
I did try
set(gca,’LooseInset’,get(gca,’TightInset’))
But this cuts off my z-axis label. Is there an easy way to achieve this? With LaTeX, we can simply use the standalone documentclass with PGFplots/tikz, but I don’t think there’s a simple keyword or option to do this with matlab. I’m using R2016b. I have a piece of code that plots a surface, and I feel it is ready for being included into the report. The only thing is that the figure has a quite large white border which substantially increases the size of it. I would like to have the unnecessary white space reduced to a minimum.
I did try
set(gca,’LooseInset’,get(gca,’TightInset’))
But this cuts off my z-axis label. Is there an easy way to achieve this? With LaTeX, we can simply use the standalone documentclass with PGFplots/tikz, but I don’t think there’s a simple keyword or option to do this with matlab. I’m using R2016b. figure MATLAB Answers — New Questions
Why do I get a Microsoft Visual C++ Redistributable error 1935 when installing MATLAB on Windows?
I get the following error when installing MATLAB on Windows:
ERROR: Error 1935. An error occurred during the installation of assembly
‘Microsoft.VC80.ATL.type="win32",version="8.0.50727.762".publicKeyToken="1fc8b3b9a1e18e3b".processorArchitecture="amd64"’.
Please refer to Help and Support for more information.I get the following error when installing MATLAB on Windows:
ERROR: Error 1935. An error occurred during the installation of assembly
‘Microsoft.VC80.ATL.type="win32",version="8.0.50727.762".publicKeyToken="1fc8b3b9a1e18e3b".processorArchitecture="amd64"’.
Please refer to Help and Support for more information. I get the following error when installing MATLAB on Windows:
ERROR: Error 1935. An error occurred during the installation of assembly
‘Microsoft.VC80.ATL.type="win32",version="8.0.50727.762".publicKeyToken="1fc8b3b9a1e18e3b".processorArchitecture="amd64"’.
Please refer to Help and Support for more information. msvc, compiler MATLAB Answers — New Questions
Does MATLAB support quadruple precision – 128-bit floating point arithmetics?
I need more precision than offered by the standard double data type in MATLAB. I am looking for a quadruple precision in MATLAB.I need more precision than offered by the standard double data type in MATLAB. I am looking for a quadruple precision in MATLAB. I need more precision than offered by the standard double data type in MATLAB. I am looking for a quadruple precision in MATLAB. 128-bit, quadruple_precision, float, double MATLAB Answers — New Questions
Why do I get “Code generation information file does not exist” as the “Rebuild Reason” when building my model?
When I successfully build our model I get "Code generation information file does not exist" as "Rebuild Reason".
Build Summary
Top model targets built:
Model | Action |Rebuild Reason
====================================================================
modelName | Code generated | Code generation information file does not exist.
1 of 1 models built (0 models already up to date)
Why is this and how can I remedy it?When I successfully build our model I get "Code generation information file does not exist" as "Rebuild Reason".
Build Summary
Top model targets built:
Model | Action |Rebuild Reason
====================================================================
modelName | Code generated | Code generation information file does not exist.
1 of 1 models built (0 models already up to date)
Why is this and how can I remedy it? When I successfully build our model I get "Code generation information file does not exist" as "Rebuild Reason".
Build Summary
Top model targets built:
Model | Action |Rebuild Reason
====================================================================
modelName | Code generated | Code generation information file does not exist.
1 of 1 models built (0 models already up to date)
Why is this and how can I remedy it? MATLAB Answers — New Questions
Why do I get the error message “#error Must define one of RT, NRT, MATLAB_MEX_FILE, SL_INTERNAL, or FIPXT_SHARED_MODULE” when building a model with an S-function?
I have a Simulink R2018b model which contains an S-function. The S-function is a MEX S-Function. When I try to build the model, I get the following error message:
#error Must define one of RT, NRT, MATLAB_MEX_FILE, SL_INTERNAL, or FIPXT_SHARED_MODULE
I am using Visual Studio 2017 as a compiler.I have a Simulink R2018b model which contains an S-function. The S-function is a MEX S-Function. When I try to build the model, I get the following error message:
#error Must define one of RT, NRT, MATLAB_MEX_FILE, SL_INTERNAL, or FIPXT_SHARED_MODULE
I am using Visual Studio 2017 as a compiler. I have a Simulink R2018b model which contains an S-function. The S-function is a MEX S-Function. When I try to build the model, I get the following error message:
#error Must define one of RT, NRT, MATLAB_MEX_FILE, SL_INTERNAL, or FIPXT_SHARED_MODULE
I am using Visual Studio 2017 as a compiler. external, ide, s-function, error, inlining, tlc, non-lined MATLAB Answers — New Questions
Simulate sine wave with timestep different than overall model timestep
Hello All,
I needed your help in understanding of where the mistake is and wanted to know how can I implement the following:
I have a simulink model running a certain fixed time step. And inside the model there is a sine wave function connected with a digital clock that is creating a sine wave with sample rate set to -1(inherit). Meaning it will use t=simulink model timestep. Instead of -1 I would like to use a time step which is faster than Simulink time step. I tried using different values but I am getting an error: "Digital Clock has an invalid sample time. Only constant (inf) or inherited (-1) sample times are allowed in the asynchronous subsystem".
Can you please suggest me what other options can I try?
Appreciate all your help and guidance.Hello All,
I needed your help in understanding of where the mistake is and wanted to know how can I implement the following:
I have a simulink model running a certain fixed time step. And inside the model there is a sine wave function connected with a digital clock that is creating a sine wave with sample rate set to -1(inherit). Meaning it will use t=simulink model timestep. Instead of -1 I would like to use a time step which is faster than Simulink time step. I tried using different values but I am getting an error: "Digital Clock has an invalid sample time. Only constant (inf) or inherited (-1) sample times are allowed in the asynchronous subsystem".
Can you please suggest me what other options can I try?
Appreciate all your help and guidance. Hello All,
I needed your help in understanding of where the mistake is and wanted to know how can I implement the following:
I have a simulink model running a certain fixed time step. And inside the model there is a sine wave function connected with a digital clock that is creating a sine wave with sample rate set to -1(inherit). Meaning it will use t=simulink model timestep. Instead of -1 I would like to use a time step which is faster than Simulink time step. I tried using different values but I am getting an error: "Digital Clock has an invalid sample time. Only constant (inf) or inherited (-1) sample times are allowed in the asynchronous subsystem".
Can you please suggest me what other options can I try?
Appreciate all your help and guidance. #simulink MATLAB Answers — New Questions
getting statistics from within a mask within an image
We have an image that represents data that only makes sense when it is analyzed in numerical format.
Specifically, the data needs to be analyzed as a function of radius as shown below
Im interested specifically in hte max and min values within each of the defined areas with respect to the center point.
Ive been looking at a few examples online and it seems this should work when you pull the data from a mask.
However, the issue is that I seem to be getting values that are not realistic.
How to get pixel value inside a circle – MATLAB Answers – MATLAB Central (mathworks.com)
how to draw circle in an image? – MATLAB Answers – MATLAB Central (mathworks.com)
this is what I am doing
clear
img = double(imread(‘img121.jpg’));; %no filtration
img = -(0.0316*img) +8.3; % we did this as we cant calibeate the film, we scan the same film over and over and it changes by 80pixels
img = imrotate(img, 90);
img = imgaussfilt(img ,1.5);
figure, imagesc(img )
axis image
height2 = 3.6
caxis([0 height2])
colorbar
title(‘ ‘)
impixelinfo
%# make sure the image doesn’t disappear if we plot something else
hold on
%https://www.mathworks.com/matlabcentral/answers/1931825-how-to-get-pixel-value-inside-a-circle
%below looks like what we want
%https://www.mathworks.com/matlabcentral/answers/1931825-how-to-get-pixel-value-inside-a-circle
%# define points (in matrix coordinates)
%3"
cpx = 2050;
cpy = 2020;
inchlist = [12,10.5,9,7.5,6,4.5];
%draw lines on heel axis
for n=1:size(inchlist,2)
inch= inchlist(n)/4;
hcirc = drawcircle(‘Center’,[2050,2020],’Radius’,inch*590,’StripeColor’,’red’);
mask1 = hcirc.createMask;
maxval = (max(img(mask1)));
minval = (min(img(mask1)));
uniformity = maxval/minval
% p1 = [cpy-100,cpx+inch*590];
end
Even after getting this max and min value, I will need to remove 10 to get rid of noise. Extra credit if you can point me to a soluton for that too.
thank youWe have an image that represents data that only makes sense when it is analyzed in numerical format.
Specifically, the data needs to be analyzed as a function of radius as shown below
Im interested specifically in hte max and min values within each of the defined areas with respect to the center point.
Ive been looking at a few examples online and it seems this should work when you pull the data from a mask.
However, the issue is that I seem to be getting values that are not realistic.
How to get pixel value inside a circle – MATLAB Answers – MATLAB Central (mathworks.com)
how to draw circle in an image? – MATLAB Answers – MATLAB Central (mathworks.com)
this is what I am doing
clear
img = double(imread(‘img121.jpg’));; %no filtration
img = -(0.0316*img) +8.3; % we did this as we cant calibeate the film, we scan the same film over and over and it changes by 80pixels
img = imrotate(img, 90);
img = imgaussfilt(img ,1.5);
figure, imagesc(img )
axis image
height2 = 3.6
caxis([0 height2])
colorbar
title(‘ ‘)
impixelinfo
%# make sure the image doesn’t disappear if we plot something else
hold on
%https://www.mathworks.com/matlabcentral/answers/1931825-how-to-get-pixel-value-inside-a-circle
%below looks like what we want
%https://www.mathworks.com/matlabcentral/answers/1931825-how-to-get-pixel-value-inside-a-circle
%# define points (in matrix coordinates)
%3"
cpx = 2050;
cpy = 2020;
inchlist = [12,10.5,9,7.5,6,4.5];
%draw lines on heel axis
for n=1:size(inchlist,2)
inch= inchlist(n)/4;
hcirc = drawcircle(‘Center’,[2050,2020],’Radius’,inch*590,’StripeColor’,’red’);
mask1 = hcirc.createMask;
maxval = (max(img(mask1)));
minval = (min(img(mask1)));
uniformity = maxval/minval
% p1 = [cpy-100,cpx+inch*590];
end
Even after getting this max and min value, I will need to remove 10 to get rid of noise. Extra credit if you can point me to a soluton for that too.
thank you We have an image that represents data that only makes sense when it is analyzed in numerical format.
Specifically, the data needs to be analyzed as a function of radius as shown below
Im interested specifically in hte max and min values within each of the defined areas with respect to the center point.
Ive been looking at a few examples online and it seems this should work when you pull the data from a mask.
However, the issue is that I seem to be getting values that are not realistic.
How to get pixel value inside a circle – MATLAB Answers – MATLAB Central (mathworks.com)
how to draw circle in an image? – MATLAB Answers – MATLAB Central (mathworks.com)
this is what I am doing
clear
img = double(imread(‘img121.jpg’));; %no filtration
img = -(0.0316*img) +8.3; % we did this as we cant calibeate the film, we scan the same film over and over and it changes by 80pixels
img = imrotate(img, 90);
img = imgaussfilt(img ,1.5);
figure, imagesc(img )
axis image
height2 = 3.6
caxis([0 height2])
colorbar
title(‘ ‘)
impixelinfo
%# make sure the image doesn’t disappear if we plot something else
hold on
%https://www.mathworks.com/matlabcentral/answers/1931825-how-to-get-pixel-value-inside-a-circle
%below looks like what we want
%https://www.mathworks.com/matlabcentral/answers/1931825-how-to-get-pixel-value-inside-a-circle
%# define points (in matrix coordinates)
%3"
cpx = 2050;
cpy = 2020;
inchlist = [12,10.5,9,7.5,6,4.5];
%draw lines on heel axis
for n=1:size(inchlist,2)
inch= inchlist(n)/4;
hcirc = drawcircle(‘Center’,[2050,2020],’Radius’,inch*590,’StripeColor’,’red’);
mask1 = hcirc.createMask;
maxval = (max(img(mask1)));
minval = (min(img(mask1)));
uniformity = maxval/minval
% p1 = [cpy-100,cpx+inch*590];
end
Even after getting this max and min value, I will need to remove 10 to get rid of noise. Extra credit if you can point me to a soluton for that too.
thank you mask, statistics MATLAB Answers — New Questions