Category: Matlab
Category Archives: Matlab
replace sub-matrix values with zeros
Hello,
I have a large matrix C, which contains a number of matrices in the format C{i}{j}(k1,k2). The size of the matrix (value of k1 and k2) are different for different i and j values. I would like to set all k1 and k2 values to zero except for a certain i and j values. For example, i=1:7, and j varies from 1 to 128 for different i values. I want to keep the values of i=1, and j=1 and replace all other values to zero. e.g. C{1,1}{1,1}. Please help me to make the loop where i can keep the original size of the matrix but replace the values with zero except the target ones.
Related information: I encountered this problem when I am using curvelet. I decomposed the image into different scales and wedges. Now I want to do an inverse curvelet transform of the original image without a particular scale and wedge. I would like to separate and visualize the variations at different scales and wedges. I wonder how I can make the matrix right.
thanks a lot in advance.
please helpHello,
I have a large matrix C, which contains a number of matrices in the format C{i}{j}(k1,k2). The size of the matrix (value of k1 and k2) are different for different i and j values. I would like to set all k1 and k2 values to zero except for a certain i and j values. For example, i=1:7, and j varies from 1 to 128 for different i values. I want to keep the values of i=1, and j=1 and replace all other values to zero. e.g. C{1,1}{1,1}. Please help me to make the loop where i can keep the original size of the matrix but replace the values with zero except the target ones.
Related information: I encountered this problem when I am using curvelet. I decomposed the image into different scales and wedges. Now I want to do an inverse curvelet transform of the original image without a particular scale and wedge. I would like to separate and visualize the variations at different scales and wedges. I wonder how I can make the matrix right.
thanks a lot in advance.
please help Hello,
I have a large matrix C, which contains a number of matrices in the format C{i}{j}(k1,k2). The size of the matrix (value of k1 and k2) are different for different i and j values. I would like to set all k1 and k2 values to zero except for a certain i and j values. For example, i=1:7, and j varies from 1 to 128 for different i values. I want to keep the values of i=1, and j=1 and replace all other values to zero. e.g. C{1,1}{1,1}. Please help me to make the loop where i can keep the original size of the matrix but replace the values with zero except the target ones.
Related information: I encountered this problem when I am using curvelet. I decomposed the image into different scales and wedges. Now I want to do an inverse curvelet transform of the original image without a particular scale and wedge. I would like to separate and visualize the variations at different scales and wedges. I wonder how I can make the matrix right.
thanks a lot in advance.
please help matrix, conversion, curvelet, matrix manipulation MATLAB Answers — New Questions
Problem with estimating PDF (ksdensity)
Attached are two sets of data and I need to estimate the Probability density function (PDF) for both of them.
The attached variable detection has 32 elements and a unit of percentages (between 0 and 100 %), and the variable in_process has 96 elements and a unit of number of days (between 0 and 212 days).
I want to estimate the PDF of both variables. For that I am using ksdenity, with the ‘support’ option, because I don’t want the values on x-axis to be negative or over 100%.
Therefore,
for the estimation of PDF of the detection I use the following code:
detection(detection==0)=0.0001; %data must be between the support boundaries
detection(detection==100)=99.9999;
pts=0:0.1:100;
[f,x]=ksdensity(detection,pts,’support’,[0,100]);
plot(x,f);
and for the estimation of PDF of the in_process I use the same following code:
in_process(in_process==0)=1;
in_process(in_process==212)=211;
pts=0:0.1:212;
[f,x]=ksdensity(in_process,pts,’support’,[0 212]);
plot(x,f);
My problem is that the first one looks pretty well (has similar shape as the histogram of detection and looks similar to the PDF that is produced without the support option), while the other one looks bad (creates artificial bumps at the beginning and at the end of the interval).
I don’t undestand why is this happening? Why the first one looks good and the second one doesn’t.
Is this even a good approach and does it make sense to estimate pdf of these variables?
Thank you for your help.Attached are two sets of data and I need to estimate the Probability density function (PDF) for both of them.
The attached variable detection has 32 elements and a unit of percentages (between 0 and 100 %), and the variable in_process has 96 elements and a unit of number of days (between 0 and 212 days).
I want to estimate the PDF of both variables. For that I am using ksdenity, with the ‘support’ option, because I don’t want the values on x-axis to be negative or over 100%.
Therefore,
for the estimation of PDF of the detection I use the following code:
detection(detection==0)=0.0001; %data must be between the support boundaries
detection(detection==100)=99.9999;
pts=0:0.1:100;
[f,x]=ksdensity(detection,pts,’support’,[0,100]);
plot(x,f);
and for the estimation of PDF of the in_process I use the same following code:
in_process(in_process==0)=1;
in_process(in_process==212)=211;
pts=0:0.1:212;
[f,x]=ksdensity(in_process,pts,’support’,[0 212]);
plot(x,f);
My problem is that the first one looks pretty well (has similar shape as the histogram of detection and looks similar to the PDF that is produced without the support option), while the other one looks bad (creates artificial bumps at the beginning and at the end of the interval).
I don’t undestand why is this happening? Why the first one looks good and the second one doesn’t.
Is this even a good approach and does it make sense to estimate pdf of these variables?
Thank you for your help. Attached are two sets of data and I need to estimate the Probability density function (PDF) for both of them.
The attached variable detection has 32 elements and a unit of percentages (between 0 and 100 %), and the variable in_process has 96 elements and a unit of number of days (between 0 and 212 days).
I want to estimate the PDF of both variables. For that I am using ksdenity, with the ‘support’ option, because I don’t want the values on x-axis to be negative or over 100%.
Therefore,
for the estimation of PDF of the detection I use the following code:
detection(detection==0)=0.0001; %data must be between the support boundaries
detection(detection==100)=99.9999;
pts=0:0.1:100;
[f,x]=ksdensity(detection,pts,’support’,[0,100]);
plot(x,f);
and for the estimation of PDF of the in_process I use the same following code:
in_process(in_process==0)=1;
in_process(in_process==212)=211;
pts=0:0.1:212;
[f,x]=ksdensity(in_process,pts,’support’,[0 212]);
plot(x,f);
My problem is that the first one looks pretty well (has similar shape as the histogram of detection and looks similar to the PDF that is produced without the support option), while the other one looks bad (creates artificial bumps at the beginning and at the end of the interval).
I don’t undestand why is this happening? Why the first one looks good and the second one doesn’t.
Is this even a good approach and does it make sense to estimate pdf of these variables?
Thank you for your help. #ksdensity, #pdf MATLAB Answers — New Questions
HOW TO PLOT ON THE SAME FIGURE PLOTS OF DIFFERENT SCRIPTS
Hi, I’m in truble because I have two programs with the same variables and parameters. The main of the study is to change a value and plot the results. The problem is that I want them on the same plot but I use the same name for the variabes in the two different programs so when I use some function to join the figures togheter matlab resets the values obtained in the first program and runs only the second one.
Is there a method to avoid changing all the names of the variables in one of the two programs (because they have something like 500 lines)?Hi, I’m in truble because I have two programs with the same variables and parameters. The main of the study is to change a value and plot the results. The problem is that I want them on the same plot but I use the same name for the variabes in the two different programs so when I use some function to join the figures togheter matlab resets the values obtained in the first program and runs only the second one.
Is there a method to avoid changing all the names of the variables in one of the two programs (because they have something like 500 lines)? Hi, I’m in truble because I have two programs with the same variables and parameters. The main of the study is to change a value and plot the results. The problem is that I want them on the same plot but I use the same name for the variabes in the two different programs so when I use some function to join the figures togheter matlab resets the values obtained in the first program and runs only the second one.
Is there a method to avoid changing all the names of the variables in one of the two programs (because they have something like 500 lines)? transferred MATLAB Answers — New Questions
First order PID controller
Hi,
I am having a bit of bother with a PID controller I am creating on MATLAB. I have the below transfer function for my system, which i’ve to incorporate a PID controller into.
clc
clear all
% Implementing T.F G(s) = 85/(42s+1)
num = [85]; %Numerator of Transfer function (DC Gain k)
den = [42 1]; %Denominator of Transfer function (Time constant tau +1)
Gs = tf([num],[den],’InputDelay’,10) %a transfer function with a lag tim); %transfer function
u = 1; %unit step input
% plotting the graph
figure(1)
[x,y]=step(u*Gs);
plot(y,x);
xlabel(‘time /s’); ylabel(‘Level’);
I have tried using the below code for the PID controller, which doesn’t seem to have the same times. Also on all controllers i’ve done the step response never got to 1 without tuning before.
% Implementing T.F G(s) = 85/(42s+1)
num = [85]; %Numerator of Transfer function (DC Gain k)
den = [42 1]; %Denominator of Transfer function (Time constant tau +1)
Gs= tf(num,den); %TF function
H=[1]; %feedback
M=feedback(Gs,H);
step(M)
grid on
When I add the PID controller script I no longer get anything I expect. I set Kp to 2, which does quicken the response, however I expect some overshoot. I have increased Kp bu different higher values and it only provides quicker respnses without overshoot. This is not how any of my other controllers have operated.
%%
Kp = 2;
Ki = 0;
Kd = 0;
Gc=pid(Kp,Ki,Kd)
Mc=feedback(Gc*Gs,H)
step(Mc)
grid on
I know I am doing something wrong, but can’t see what. Is there anyone that can look this over and assist? I am using Matlab online as I do not have permission to download additional content on my laptop as IT won’t allow it. You may have also noticed that there is no delay added to the scripts. This is due to it not working if I do.Hi,
I am having a bit of bother with a PID controller I am creating on MATLAB. I have the below transfer function for my system, which i’ve to incorporate a PID controller into.
clc
clear all
% Implementing T.F G(s) = 85/(42s+1)
num = [85]; %Numerator of Transfer function (DC Gain k)
den = [42 1]; %Denominator of Transfer function (Time constant tau +1)
Gs = tf([num],[den],’InputDelay’,10) %a transfer function with a lag tim); %transfer function
u = 1; %unit step input
% plotting the graph
figure(1)
[x,y]=step(u*Gs);
plot(y,x);
xlabel(‘time /s’); ylabel(‘Level’);
I have tried using the below code for the PID controller, which doesn’t seem to have the same times. Also on all controllers i’ve done the step response never got to 1 without tuning before.
% Implementing T.F G(s) = 85/(42s+1)
num = [85]; %Numerator of Transfer function (DC Gain k)
den = [42 1]; %Denominator of Transfer function (Time constant tau +1)
Gs= tf(num,den); %TF function
H=[1]; %feedback
M=feedback(Gs,H);
step(M)
grid on
When I add the PID controller script I no longer get anything I expect. I set Kp to 2, which does quicken the response, however I expect some overshoot. I have increased Kp bu different higher values and it only provides quicker respnses without overshoot. This is not how any of my other controllers have operated.
%%
Kp = 2;
Ki = 0;
Kd = 0;
Gc=pid(Kp,Ki,Kd)
Mc=feedback(Gc*Gs,H)
step(Mc)
grid on
I know I am doing something wrong, but can’t see what. Is there anyone that can look this over and assist? I am using Matlab online as I do not have permission to download additional content on my laptop as IT won’t allow it. You may have also noticed that there is no delay added to the scripts. This is due to it not working if I do. Hi,
I am having a bit of bother with a PID controller I am creating on MATLAB. I have the below transfer function for my system, which i’ve to incorporate a PID controller into.
clc
clear all
% Implementing T.F G(s) = 85/(42s+1)
num = [85]; %Numerator of Transfer function (DC Gain k)
den = [42 1]; %Denominator of Transfer function (Time constant tau +1)
Gs = tf([num],[den],’InputDelay’,10) %a transfer function with a lag tim); %transfer function
u = 1; %unit step input
% plotting the graph
figure(1)
[x,y]=step(u*Gs);
plot(y,x);
xlabel(‘time /s’); ylabel(‘Level’);
I have tried using the below code for the PID controller, which doesn’t seem to have the same times. Also on all controllers i’ve done the step response never got to 1 without tuning before.
% Implementing T.F G(s) = 85/(42s+1)
num = [85]; %Numerator of Transfer function (DC Gain k)
den = [42 1]; %Denominator of Transfer function (Time constant tau +1)
Gs= tf(num,den); %TF function
H=[1]; %feedback
M=feedback(Gs,H);
step(M)
grid on
When I add the PID controller script I no longer get anything I expect. I set Kp to 2, which does quicken the response, however I expect some overshoot. I have increased Kp bu different higher values and it only provides quicker respnses without overshoot. This is not how any of my other controllers have operated.
%%
Kp = 2;
Ki = 0;
Kd = 0;
Gc=pid(Kp,Ki,Kd)
Mc=feedback(Gc*Gs,H)
step(Mc)
grid on
I know I am doing something wrong, but can’t see what. Is there anyone that can look this over and assist? I am using Matlab online as I do not have permission to download additional content on my laptop as IT won’t allow it. You may have also noticed that there is no delay added to the scripts. This is due to it not working if I do. pid controller MATLAB Answers — New Questions
Why isn’t the numerical value assigned by matlab verified using == function.
I have calculated the value for R using my code which has assigned 0.0094 but if I try to verify using == function , it shows logical zero.
I had used format short but evidently isn’t doing much.
what should I change here.I have calculated the value for R using my code which has assigned 0.0094 but if I try to verify using == function , it shows logical zero.
I had used format short but evidently isn’t doing much.
what should I change here. I have calculated the value for R using my code which has assigned 0.0094 but if I try to verify using == function , it shows logical zero.
I had used format short but evidently isn’t doing much.
what should I change here. logical MATLAB Answers — New Questions
how to plot the graph
Hello Everyone,
I have some data as attached. Then I have the code to plot the graph. But I have to convert my file to excel first.
Anyway have that I can plot grpah wothout convert my file to excel?
clc
clear all
close all
spec=readlines(‘nema2.spe’); % read as text
whos spec
data=readmatrix(‘nema2.spe.xlsx’); %the data from point1.prn must export to excel first.
whos data
%then from excel, it can be plotted.
plot(data(:,1),data(:,2))Hello Everyone,
I have some data as attached. Then I have the code to plot the graph. But I have to convert my file to excel first.
Anyway have that I can plot grpah wothout convert my file to excel?
clc
clear all
close all
spec=readlines(‘nema2.spe’); % read as text
whos spec
data=readmatrix(‘nema2.spe.xlsx’); %the data from point1.prn must export to excel first.
whos data
%then from excel, it can be plotted.
plot(data(:,1),data(:,2)) Hello Everyone,
I have some data as attached. Then I have the code to plot the graph. But I have to convert my file to excel first.
Anyway have that I can plot grpah wothout convert my file to excel?
clc
clear all
close all
spec=readlines(‘nema2.spe’); % read as text
whos spec
data=readmatrix(‘nema2.spe.xlsx’); %the data from point1.prn must export to excel first.
whos data
%then from excel, it can be plotted.
plot(data(:,1),data(:,2)) digital image processing, image processing, plot, plotting MATLAB Answers — New Questions
How to stop MATLAB windows changing to different Windows desktops?
I use Windows 10 Desktops to organize my work. I usually start MATLAB in desktop 2 and everything is fine while I’m working on that desktop. But when I switch to another Windows desktop to do other work the matlab windows start to move themselves to the current desktop.
How can I stop this behaviour? Why doesn’t MATLAB respect the Windows desktops?I use Windows 10 Desktops to organize my work. I usually start MATLAB in desktop 2 and everything is fine while I’m working on that desktop. But when I switch to another Windows desktop to do other work the matlab windows start to move themselves to the current desktop.
How can I stop this behaviour? Why doesn’t MATLAB respect the Windows desktops? I use Windows 10 Desktops to organize my work. I usually start MATLAB in desktop 2 and everything is fine while I’m working on that desktop. But when I switch to another Windows desktop to do other work the matlab windows start to move themselves to the current desktop.
How can I stop this behaviour? Why doesn’t MATLAB respect the Windows desktops? matlab gui MATLAB Answers — New Questions
Fitting multiple datasets with unique parameters using lsqcurvefit to a normalized function and constraints between datasets.
Thank you for taking the time to help. I will do my best to be clear and concise.
I have 3 sets of data (atttached), each with x and y data – not necesarilly the same length.
Each y(x) function can be normalized into p(t) using 4 parameters:
A – a constant that is extracted from each individual y(x), ‘A’ looks like [A1, A2, A3]
B – a fitting parameter unique to each y(x)
C – a fitting parameter applied to all y(x)
D – a constraint variable dependent on A and B applied to all y(x)
So the set looks something like:
I would like to use lsqcurvefit to fit my data to my function p(t) and output the unique (C and D) values.
I have a final constraint to increase the accuracy of lsqcurvefit: , where D is another global constant like C.
Where I’m at now, I want to adjust C and D to fit my function p(t) to y(x), but I don’t know how to also include the unique A values for each y(x).
I’ve pasted my current code below where I am able to get an individual fit for each y(x) but without consistent C and D parameters.
%% Data analysis
Results = NaN(3,2); % Result [C,D] for each individual fitting
for t = 1:3
%TL is summary matrix of all y(x) for the 3 experiments, NaN fills in
%where some y(x) are shorter than others.
x = TL(~isnan(TL(:,2*t-1)),2*t-1); %extracts x values from TL
y = TL(~isnan(TL(:,2*t)),2*t); %extracts y values from TL
%P = parameters: P(1) = C | P(2) = D
%fun below is the normalization for p(t)
fun = @(P,x)A(t)*(1-1/(2*(1-P(1))))*(1.304*exp(-(P(2)*x/(r/1000)^2).^0.5)-0.304*exp(-0.254*P(2)*x/(r/1000)^2))+1/(2*(1-P(1)));
P0 = [0.4, 1*10^-9]; %Initial parameters
lb = [0.1, 1*10^-10]; %Lower bound
ub = [0.5, 1*10^-8]; %Upper bound
Results(t,:) = lsqcurvefit(fun,P0,x,y,lb,ub); %Result consolidation for individual fitting
subplot(3,1,t)
plot(x,y,’ko’,x,fun(Results(t,:),x),’b-‘)
end
From looking at other posts on using lsqcurvefit with multiple datasets, I think my obstacle has come down to whether I should (1) run lsqcurvefit on all y(x) and somehow input the unique A constants or (2) run lsqcurvefit on individual y(x) and somehow correlate C and D to match between each fitting.
I hope this is presented clearly, looking forward to your thoughts and discussion – Thanks.Thank you for taking the time to help. I will do my best to be clear and concise.
I have 3 sets of data (atttached), each with x and y data – not necesarilly the same length.
Each y(x) function can be normalized into p(t) using 4 parameters:
A – a constant that is extracted from each individual y(x), ‘A’ looks like [A1, A2, A3]
B – a fitting parameter unique to each y(x)
C – a fitting parameter applied to all y(x)
D – a constraint variable dependent on A and B applied to all y(x)
So the set looks something like:
I would like to use lsqcurvefit to fit my data to my function p(t) and output the unique (C and D) values.
I have a final constraint to increase the accuracy of lsqcurvefit: , where D is another global constant like C.
Where I’m at now, I want to adjust C and D to fit my function p(t) to y(x), but I don’t know how to also include the unique A values for each y(x).
I’ve pasted my current code below where I am able to get an individual fit for each y(x) but without consistent C and D parameters.
%% Data analysis
Results = NaN(3,2); % Result [C,D] for each individual fitting
for t = 1:3
%TL is summary matrix of all y(x) for the 3 experiments, NaN fills in
%where some y(x) are shorter than others.
x = TL(~isnan(TL(:,2*t-1)),2*t-1); %extracts x values from TL
y = TL(~isnan(TL(:,2*t)),2*t); %extracts y values from TL
%P = parameters: P(1) = C | P(2) = D
%fun below is the normalization for p(t)
fun = @(P,x)A(t)*(1-1/(2*(1-P(1))))*(1.304*exp(-(P(2)*x/(r/1000)^2).^0.5)-0.304*exp(-0.254*P(2)*x/(r/1000)^2))+1/(2*(1-P(1)));
P0 = [0.4, 1*10^-9]; %Initial parameters
lb = [0.1, 1*10^-10]; %Lower bound
ub = [0.5, 1*10^-8]; %Upper bound
Results(t,:) = lsqcurvefit(fun,P0,x,y,lb,ub); %Result consolidation for individual fitting
subplot(3,1,t)
plot(x,y,’ko’,x,fun(Results(t,:),x),’b-‘)
end
From looking at other posts on using lsqcurvefit with multiple datasets, I think my obstacle has come down to whether I should (1) run lsqcurvefit on all y(x) and somehow input the unique A constants or (2) run lsqcurvefit on individual y(x) and somehow correlate C and D to match between each fitting.
I hope this is presented clearly, looking forward to your thoughts and discussion – Thanks. Thank you for taking the time to help. I will do my best to be clear and concise.
I have 3 sets of data (atttached), each with x and y data – not necesarilly the same length.
Each y(x) function can be normalized into p(t) using 4 parameters:
A – a constant that is extracted from each individual y(x), ‘A’ looks like [A1, A2, A3]
B – a fitting parameter unique to each y(x)
C – a fitting parameter applied to all y(x)
D – a constraint variable dependent on A and B applied to all y(x)
So the set looks something like:
I would like to use lsqcurvefit to fit my data to my function p(t) and output the unique (C and D) values.
I have a final constraint to increase the accuracy of lsqcurvefit: , where D is another global constant like C.
Where I’m at now, I want to adjust C and D to fit my function p(t) to y(x), but I don’t know how to also include the unique A values for each y(x).
I’ve pasted my current code below where I am able to get an individual fit for each y(x) but without consistent C and D parameters.
%% Data analysis
Results = NaN(3,2); % Result [C,D] for each individual fitting
for t = 1:3
%TL is summary matrix of all y(x) for the 3 experiments, NaN fills in
%where some y(x) are shorter than others.
x = TL(~isnan(TL(:,2*t-1)),2*t-1); %extracts x values from TL
y = TL(~isnan(TL(:,2*t)),2*t); %extracts y values from TL
%P = parameters: P(1) = C | P(2) = D
%fun below is the normalization for p(t)
fun = @(P,x)A(t)*(1-1/(2*(1-P(1))))*(1.304*exp(-(P(2)*x/(r/1000)^2).^0.5)-0.304*exp(-0.254*P(2)*x/(r/1000)^2))+1/(2*(1-P(1)));
P0 = [0.4, 1*10^-9]; %Initial parameters
lb = [0.1, 1*10^-10]; %Lower bound
ub = [0.5, 1*10^-8]; %Upper bound
Results(t,:) = lsqcurvefit(fun,P0,x,y,lb,ub); %Result consolidation for individual fitting
subplot(3,1,t)
plot(x,y,’ko’,x,fun(Results(t,:),x),’b-‘)
end
From looking at other posts on using lsqcurvefit with multiple datasets, I think my obstacle has come down to whether I should (1) run lsqcurvefit on all y(x) and somehow input the unique A constants or (2) run lsqcurvefit on individual y(x) and somehow correlate C and D to match between each fitting.
I hope this is presented clearly, looking forward to your thoughts and discussion – Thanks. lsqcurvefit, curve fitting, optimization MATLAB Answers — New Questions
In Matlab app When I delete a Editfieldnumeric component and delete it the call back function remains and when I next create a new component I do not see the callback
In one Matlab App I created a EditFieldNUmeric component and later deleted it. But the call back function remains.Why?
Also later I inserted a EditField numeric component ,I did not get the new callback function.Why?
Also please let me know how to use the numeric value in the call back function of another componentIn one Matlab App I created a EditFieldNUmeric component and later deleted it. But the call back function remains.Why?
Also later I inserted a EditField numeric component ,I did not get the new callback function.Why?
Also please let me know how to use the numeric value in the call back function of another component In one Matlab App I created a EditFieldNUmeric component and later deleted it. But the call back function remains.Why?
Also later I inserted a EditField numeric component ,I did not get the new callback function.Why?
Also please let me know how to use the numeric value in the call back function of another component editfieldnumeric in matlab app MATLAB Answers — New Questions
Transfer Functions on Biologic Data Sets
I have blast data from 3 different organisms. Two animals and one human set. I am looking to develop a transfer function to translate the data sets from animal set to the human data set. I also have the ambient pressure from outside of the body for normalization as well as weight, speed of the wave, and weight of the individual body parts. I only have acess to the following toolboxes:
MATLAB Version 9.8 (R2020a)
Curve Fitting Toolbox Version 3.5.11 (R2020a)
Deep Learning Toolbox Version 14.0 (R2020a)
GUI Layout Toolbox Version 2.3.6 (R2023a)
Signal Processing Toolbox Version 8.4 (R2020a)
Statistics and Machine Learning Toolbox Version 11.7 (R2020a)
I want to be able to set up some sort of optimizaiton funciton that would work between both of the animal models, independetly. Likely a second order model. I have attached the raw data of the pressures as a CSV. Each of the data sets are computed at 0.8Mhz and the data listed by row is an maximum individual test, not a continous data set.
I am looking for gudiance on how to start this.
>>I have blast data from 3 different organisms. Two animals and one human set. I am looking to develop a transfer function to translate the data sets from animal set to the human data set. I also have the ambient pressure from outside of the body for normalization as well as weight, speed of the wave, and weight of the individual body parts. I only have acess to the following toolboxes:
MATLAB Version 9.8 (R2020a)
Curve Fitting Toolbox Version 3.5.11 (R2020a)
Deep Learning Toolbox Version 14.0 (R2020a)
GUI Layout Toolbox Version 2.3.6 (R2023a)
Signal Processing Toolbox Version 8.4 (R2020a)
Statistics and Machine Learning Toolbox Version 11.7 (R2020a)
I want to be able to set up some sort of optimizaiton funciton that would work between both of the animal models, independetly. Likely a second order model. I have attached the raw data of the pressures as a CSV. Each of the data sets are computed at 0.8Mhz and the data listed by row is an maximum individual test, not a continous data set.
I am looking for gudiance on how to start this.
>> I have blast data from 3 different organisms. Two animals and one human set. I am looking to develop a transfer function to translate the data sets from animal set to the human data set. I also have the ambient pressure from outside of the body for normalization as well as weight, speed of the wave, and weight of the individual body parts. I only have acess to the following toolboxes:
MATLAB Version 9.8 (R2020a)
Curve Fitting Toolbox Version 3.5.11 (R2020a)
Deep Learning Toolbox Version 14.0 (R2020a)
GUI Layout Toolbox Version 2.3.6 (R2023a)
Signal Processing Toolbox Version 8.4 (R2020a)
Statistics and Machine Learning Toolbox Version 11.7 (R2020a)
I want to be able to set up some sort of optimizaiton funciton that would work between both of the animal models, independetly. Likely a second order model. I have attached the raw data of the pressures as a CSV. Each of the data sets are computed at 0.8Mhz and the data listed by row is an maximum individual test, not a continous data set.
I am looking for gudiance on how to start this.
>> transfer function, biologics, curve fitting MATLAB Answers — New Questions
Error in Model Fitting
Hello! i have been to run this model fitting code but keeps on getting these error messages as:
FUN must have two input arguments.
userFcn_ME = initEvalErrorHandler(userFcn_ME,funfcn_x_xdata{3}, …
[params_fit, ~] = lsqcurvefit(obj_fun, params0, time, observed_I, [], [], options);
Find attached, the code,, Please help
function dydt = sir_model(t, y, beta, gamma)
S = y(1);
I = y(2);
R = y(3);
N = S + I + R; % Total population
dSdt = -beta * S * I / N;
dIdt = beta * S * I / N – gamma * I;
dRdt = gamma * I;
dydt = [dSdt; dIdt; dRdt];
end
function error = model_error(params, time, observed_I, y0)
beta = params(1);
gamma = params(2);
% Solve the differential equations
[~, y] = ode45(@(t, y) sir_model(t, y, beta, gamma), time, y0);
% Extract the infectious data from the solution
model_I = y(:, 2);
% Compute the error as the difference between model and observed data
error = model_I – observed_I’;
end
% Define the time vector and observed data
time = [0, 1, 2, 3, 4, 5]; % Example time points
observed_I = [10, 15, 20, 25, 30, 35]; % Example observed infectious data
% Initial guess for parameters
beta_guess = 0.3;
gamma_guess = 0.1;
params0 = [beta_guess, gamma_guess];
% Initial conditions
S0 = 1000; % Initial number of susceptible individuals
I0 = observed_I(1); % Initial number of infectious individuals
R0 = 0; % Initial number of recovered individuals
y0 = [S0; I0; R0];
% Define the objective function for fitting
obj_fun = @(params) model_error(params, time, observed_I, y0);
% Perform the curve fitting
options = optimoptions(‘lsqcurvefit’, ‘Display’, ‘off’);
[params_fit, ~] = lsqcurvefit(obj_fun, params0, time, observed_I, [], [], options);
% Display the fitted parameters
beta_fit = params_fit(1);
gamma_fit = params_fit(2);
disp([‘Fitted beta: ‘, num2str(beta_fit)]);
disp([‘Fitted gamma: ‘, num2str(gamma_fit)]);Hello! i have been to run this model fitting code but keeps on getting these error messages as:
FUN must have two input arguments.
userFcn_ME = initEvalErrorHandler(userFcn_ME,funfcn_x_xdata{3}, …
[params_fit, ~] = lsqcurvefit(obj_fun, params0, time, observed_I, [], [], options);
Find attached, the code,, Please help
function dydt = sir_model(t, y, beta, gamma)
S = y(1);
I = y(2);
R = y(3);
N = S + I + R; % Total population
dSdt = -beta * S * I / N;
dIdt = beta * S * I / N – gamma * I;
dRdt = gamma * I;
dydt = [dSdt; dIdt; dRdt];
end
function error = model_error(params, time, observed_I, y0)
beta = params(1);
gamma = params(2);
% Solve the differential equations
[~, y] = ode45(@(t, y) sir_model(t, y, beta, gamma), time, y0);
% Extract the infectious data from the solution
model_I = y(:, 2);
% Compute the error as the difference between model and observed data
error = model_I – observed_I’;
end
% Define the time vector and observed data
time = [0, 1, 2, 3, 4, 5]; % Example time points
observed_I = [10, 15, 20, 25, 30, 35]; % Example observed infectious data
% Initial guess for parameters
beta_guess = 0.3;
gamma_guess = 0.1;
params0 = [beta_guess, gamma_guess];
% Initial conditions
S0 = 1000; % Initial number of susceptible individuals
I0 = observed_I(1); % Initial number of infectious individuals
R0 = 0; % Initial number of recovered individuals
y0 = [S0; I0; R0];
% Define the objective function for fitting
obj_fun = @(params) model_error(params, time, observed_I, y0);
% Perform the curve fitting
options = optimoptions(‘lsqcurvefit’, ‘Display’, ‘off’);
[params_fit, ~] = lsqcurvefit(obj_fun, params0, time, observed_I, [], [], options);
% Display the fitted parameters
beta_fit = params_fit(1);
gamma_fit = params_fit(2);
disp([‘Fitted beta: ‘, num2str(beta_fit)]);
disp([‘Fitted gamma: ‘, num2str(gamma_fit)]); Hello! i have been to run this model fitting code but keeps on getting these error messages as:
FUN must have two input arguments.
userFcn_ME = initEvalErrorHandler(userFcn_ME,funfcn_x_xdata{3}, …
[params_fit, ~] = lsqcurvefit(obj_fun, params0, time, observed_I, [], [], options);
Find attached, the code,, Please help
function dydt = sir_model(t, y, beta, gamma)
S = y(1);
I = y(2);
R = y(3);
N = S + I + R; % Total population
dSdt = -beta * S * I / N;
dIdt = beta * S * I / N – gamma * I;
dRdt = gamma * I;
dydt = [dSdt; dIdt; dRdt];
end
function error = model_error(params, time, observed_I, y0)
beta = params(1);
gamma = params(2);
% Solve the differential equations
[~, y] = ode45(@(t, y) sir_model(t, y, beta, gamma), time, y0);
% Extract the infectious data from the solution
model_I = y(:, 2);
% Compute the error as the difference between model and observed data
error = model_I – observed_I’;
end
% Define the time vector and observed data
time = [0, 1, 2, 3, 4, 5]; % Example time points
observed_I = [10, 15, 20, 25, 30, 35]; % Example observed infectious data
% Initial guess for parameters
beta_guess = 0.3;
gamma_guess = 0.1;
params0 = [beta_guess, gamma_guess];
% Initial conditions
S0 = 1000; % Initial number of susceptible individuals
I0 = observed_I(1); % Initial number of infectious individuals
R0 = 0; % Initial number of recovered individuals
y0 = [S0; I0; R0];
% Define the objective function for fitting
obj_fun = @(params) model_error(params, time, observed_I, y0);
% Perform the curve fitting
options = optimoptions(‘lsqcurvefit’, ‘Display’, ‘off’);
[params_fit, ~] = lsqcurvefit(obj_fun, params0, time, observed_I, [], [], options);
% Display the fitted parameters
beta_fit = params_fit(1);
gamma_fit = params_fit(2);
disp([‘Fitted beta: ‘, num2str(beta_fit)]);
disp([‘Fitted gamma: ‘, num2str(gamma_fit)]); model fitting MATLAB Answers — New Questions
How is the function FEEDBACK implemented in Matlab?
Hello together,
I used the function »feedback« to generate a closed-loop system, which worked well. Now I am trying to understand, how this function is mathematically implemented in Matlab. There are a lot of information’s, how to use the function, but I didn’t find anything which describes how it’s working and implemented mathematically. Does this function use iterative every sample from the output and add it to the input?
Thank you!Hello together,
I used the function »feedback« to generate a closed-loop system, which worked well. Now I am trying to understand, how this function is mathematically implemented in Matlab. There are a lot of information’s, how to use the function, but I didn’t find anything which describes how it’s working and implemented mathematically. Does this function use iterative every sample from the output and add it to the input?
Thank you! Hello together,
I used the function »feedback« to generate a closed-loop system, which worked well. Now I am trying to understand, how this function is mathematically implemented in Matlab. There are a lot of information’s, how to use the function, but I didn’t find anything which describes how it’s working and implemented mathematically. Does this function use iterative every sample from the output and add it to the input?
Thank you! feedback, closed loop, control MATLAB Answers — New Questions
Simulink Coder: Unknown type name mxarray
Hello. I have created a custom S Function block that outputs the sum of a user definable number of inputs and it works in simulation. The next step for me is to generate C code from it using Simulink Coder. For now I don’t want to inline the S function, I just want to test its autocoded functionality.
When I generate the src and header files and try to build an executable in eclipse I get the following errors:
unknown type name ‘RTWSfcnInfo’ in mymodel.h
unknown type name ‘mxarray’ in mymodel.h,simstruct_def.h, simstruct_internal.h
unknown type name ‘_ResolveVarFcn’ ini simstruct_def.h
#error unrecognized use in simstruct_compond.h
#error unhandled case in simstruct_compond.h
#error Must define one of RT, NRT, MATLAB_MEX_FILE, SL_INTERNAL, or FIPXT_SHARED_MODULE in simstruc_compcond.h
I have looked for a solution online and for other people this was solved by including mex.h – I have tried it and it did not work.
Thanks in advance!Hello. I have created a custom S Function block that outputs the sum of a user definable number of inputs and it works in simulation. The next step for me is to generate C code from it using Simulink Coder. For now I don’t want to inline the S function, I just want to test its autocoded functionality.
When I generate the src and header files and try to build an executable in eclipse I get the following errors:
unknown type name ‘RTWSfcnInfo’ in mymodel.h
unknown type name ‘mxarray’ in mymodel.h,simstruct_def.h, simstruct_internal.h
unknown type name ‘_ResolveVarFcn’ ini simstruct_def.h
#error unrecognized use in simstruct_compond.h
#error unhandled case in simstruct_compond.h
#error Must define one of RT, NRT, MATLAB_MEX_FILE, SL_INTERNAL, or FIPXT_SHARED_MODULE in simstruc_compcond.h
I have looked for a solution online and for other people this was solved by including mex.h – I have tried it and it did not work.
Thanks in advance! Hello. I have created a custom S Function block that outputs the sum of a user definable number of inputs and it works in simulation. The next step for me is to generate C code from it using Simulink Coder. For now I don’t want to inline the S function, I just want to test its autocoded functionality.
When I generate the src and header files and try to build an executable in eclipse I get the following errors:
unknown type name ‘RTWSfcnInfo’ in mymodel.h
unknown type name ‘mxarray’ in mymodel.h,simstruct_def.h, simstruct_internal.h
unknown type name ‘_ResolveVarFcn’ ini simstruct_def.h
#error unrecognized use in simstruct_compond.h
#error unhandled case in simstruct_compond.h
#error Must define one of RT, NRT, MATLAB_MEX_FILE, SL_INTERNAL, or FIPXT_SHARED_MODULE in simstruc_compcond.h
I have looked for a solution online and for other people this was solved by including mex.h – I have tried it and it did not work.
Thanks in advance! simulink, embedded coder, s-function MATLAB Answers — New Questions
Scaling dependence using equilibrate function
I want to use the function equilibrate, but I don’t understand the following written in Rescaling to Solve a Linear System.
"equilibrate is most useful when the scales of the b and x vectors in the original system x = Ab are irrelevant. However, if the scales of b and x are relevant, then using equilibrate to rescale A only for the linear system solve is not recommended. The obtained solution does not generally yield a small residual for the original system, even if expressed using the original basis vectors."
Could someone explain the meaning of this with an example?I want to use the function equilibrate, but I don’t understand the following written in Rescaling to Solve a Linear System.
"equilibrate is most useful when the scales of the b and x vectors in the original system x = Ab are irrelevant. However, if the scales of b and x are relevant, then using equilibrate to rescale A only for the linear system solve is not recommended. The obtained solution does not generally yield a small residual for the original system, even if expressed using the original basis vectors."
Could someone explain the meaning of this with an example? I want to use the function equilibrate, but I don’t understand the following written in Rescaling to Solve a Linear System.
"equilibrate is most useful when the scales of the b and x vectors in the original system x = Ab are irrelevant. However, if the scales of b and x are relevant, then using equilibrate to rescale A only for the linear system solve is not recommended. The obtained solution does not generally yield a small residual for the original system, even if expressed using the original basis vectors."
Could someone explain the meaning of this with an example? matrices MATLAB Answers — New Questions
toggle and elseif in matlab
Try adding a variable doDisplay to toggle if the densities are displayed. Add this condition with an elseif block.
i do not understand what we are supposed to do in the above question(bold). this question is a part of futher practice in mathlab oramp. decision branching topic futher practice section in matworks course for basic matlab. how do i solve tha bove question
https://matlabacademy.mathworks.com/R2019b/portal.html?course=gettingstarted#chapter=13&lesson=2§ion=1Try adding a variable doDisplay to toggle if the densities are displayed. Add this condition with an elseif block.
i do not understand what we are supposed to do in the above question(bold). this question is a part of futher practice in mathlab oramp. decision branching topic futher practice section in matworks course for basic matlab. how do i solve tha bove question
https://matlabacademy.mathworks.com/R2019b/portal.html?course=gettingstarted#chapter=13&lesson=2§ion=1 Try adding a variable doDisplay to toggle if the densities are displayed. Add this condition with an elseif block.
i do not understand what we are supposed to do in the above question(bold). this question is a part of futher practice in mathlab oramp. decision branching topic futher practice section in matworks course for basic matlab. how do i solve tha bove question
https://matlabacademy.mathworks.com/R2019b/portal.html?course=gettingstarted#chapter=13&lesson=2§ion=1 elseif, toggle, decision branching MATLAB Answers — New Questions
How to find the roots of a non-polynomial equation in terms of symbolic variables ?
want to find the values of ‘K’ for which the function (D) becomes zero. ‘L’ and ‘a’ are the constants. Code:
syms A B L K a
D = [cosh(K*L)-cos(K*L), sinh(K*L)-sin(K*L); sinh(K*L)+sin(K*L)+K*a*L*(cosh(K*L)+cos(K*L)), cosh(K*L)-cos(K*L)+K*a*L*(sinh(K*L)+sin(K*L))];
d = det(D)
fzero(@(K) d, 10)
Error using fzero (line 309) Function value at starting guess must be finite and real.want to find the values of ‘K’ for which the function (D) becomes zero. ‘L’ and ‘a’ are the constants. Code:
syms A B L K a
D = [cosh(K*L)-cos(K*L), sinh(K*L)-sin(K*L); sinh(K*L)+sin(K*L)+K*a*L*(cosh(K*L)+cos(K*L)), cosh(K*L)-cos(K*L)+K*a*L*(sinh(K*L)+sin(K*L))];
d = det(D)
fzero(@(K) d, 10)
Error using fzero (line 309) Function value at starting guess must be finite and real. want to find the values of ‘K’ for which the function (D) becomes zero. ‘L’ and ‘a’ are the constants. Code:
syms A B L K a
D = [cosh(K*L)-cos(K*L), sinh(K*L)-sin(K*L); sinh(K*L)+sin(K*L)+K*a*L*(cosh(K*L)+cos(K*L)), cosh(K*L)-cos(K*L)+K*a*L*(sinh(K*L)+sin(K*L))];
d = det(D)
fzero(@(K) d, 10)
Error using fzero (line 309) Function value at starting guess must be finite and real. roots, non-polynomial MATLAB Answers — New Questions
Can’t do any courses on Mac
Whenever I open MATLAB Onramp or Simulink Onramp or any other courses I can’t get past the first page. Sometimes I can play the introductory video but afterwards the pointer cursor dissapears and I can’t interact with anything on the page and have to quit the tab. This has occured on the two most recent versions on three different browsers, I have cleared my cache for MATLAB and I am on macOS Sonoma.Whenever I open MATLAB Onramp or Simulink Onramp or any other courses I can’t get past the first page. Sometimes I can play the introductory video but afterwards the pointer cursor dissapears and I can’t interact with anything on the page and have to quit the tab. This has occured on the two most recent versions on three different browsers, I have cleared my cache for MATLAB and I am on macOS Sonoma. Whenever I open MATLAB Onramp or Simulink Onramp or any other courses I can’t get past the first page. Sometimes I can play the introductory video but afterwards the pointer cursor dissapears and I can’t interact with anything on the page and have to quit the tab. This has occured on the two most recent versions on three different browsers, I have cleared my cache for MATLAB and I am on macOS Sonoma. matlab MATLAB Answers — New Questions
Is code generation supported for “convolution1DLayer”?
Is code generation supported for "convolution1DLayer"?Is code generation supported for "convolution1DLayer"? Is code generation supported for "convolution1DLayer"? code, generation, convolution1dlayer, convolution, 1d, layer, deep, learning, neural, network, matlab, coder, spatial, temporal MATLAB Answers — New Questions
gwagwagagwa wag wa aggwagw
gwawagaggwawagag gwawagag thingspeak MATLAB Answers — New Questions
Indexing/Accessing Entire Columns of Nested Array
I have a nested cell array {48×691}. I would like to isolate an entire column of the nested cell array while grabbing all of the rows such that I would get the nested arrays in this way:
{:,1} {:, 2} {:,3} … {:,691}
In other words, how do I get all of the 691 columns from the nested array extracted such that I grab the 48 rows each time?
Thank you!I have a nested cell array {48×691}. I would like to isolate an entire column of the nested cell array while grabbing all of the rows such that I would get the nested arrays in this way:
{:,1} {:, 2} {:,3} … {:,691}
In other words, how do I get all of the 691 columns from the nested array extracted such that I grab the 48 rows each time?
Thank you! I have a nested cell array {48×691}. I would like to isolate an entire column of the nested cell array while grabbing all of the rows such that I would get the nested arrays in this way:
{:,1} {:, 2} {:,3} … {:,691}
In other words, how do I get all of the 691 columns from the nested array extracted such that I grab the 48 rows each time?
Thank you! indexing nested cell array, nested cell array, indexing MATLAB Answers — New Questions