Tag Archives: matlab
Finding Transfer Function from Step Response
A bit of context:
I’m in a stundent project at my universtiy. We’re desingning and building an Mechanical ventilator for Corona-Patients. I’m having some trouble with the control loop of the system.
The ouput of the control loop is controlling a proportional valve. The purpose of this is to reach the desired pressure (Setpoint) in less than 3 seconds. I’m using a PID control, yet it’s not tuned correctly. That’s why I decided to go to basics, and get the transfer function from a step response, to then simulate the different constants in MATLAB.
The following step response was achieved by opening the proportional valve fully, and waited till the Setpoint was achieved. There’s a 1 bar relative pressure in the system. Any pressure above 25mbar flows out, through a PEEP valve. The proplem with the system is that we can’t overshot, because we cannot get rid of this pressure as the patient is inhaling.
If someone could help me, calculate the transfer function of the following step response, I would be really gratefull.
Thanks in advance.A bit of context:
I’m in a stundent project at my universtiy. We’re desingning and building an Mechanical ventilator for Corona-Patients. I’m having some trouble with the control loop of the system.
The ouput of the control loop is controlling a proportional valve. The purpose of this is to reach the desired pressure (Setpoint) in less than 3 seconds. I’m using a PID control, yet it’s not tuned correctly. That’s why I decided to go to basics, and get the transfer function from a step response, to then simulate the different constants in MATLAB.
The following step response was achieved by opening the proportional valve fully, and waited till the Setpoint was achieved. There’s a 1 bar relative pressure in the system. Any pressure above 25mbar flows out, through a PEEP valve. The proplem with the system is that we can’t overshot, because we cannot get rid of this pressure as the patient is inhaling.
If someone could help me, calculate the transfer function of the following step response, I would be really gratefull.
Thanks in advance. A bit of context:
I’m in a stundent project at my universtiy. We’re desingning and building an Mechanical ventilator for Corona-Patients. I’m having some trouble with the control loop of the system.
The ouput of the control loop is controlling a proportional valve. The purpose of this is to reach the desired pressure (Setpoint) in less than 3 seconds. I’m using a PID control, yet it’s not tuned correctly. That’s why I decided to go to basics, and get the transfer function from a step response, to then simulate the different constants in MATLAB.
The following step response was achieved by opening the proportional valve fully, and waited till the Setpoint was achieved. There’s a 1 bar relative pressure in the system. Any pressure above 25mbar flows out, through a PEEP valve. The proplem with the system is that we can’t overshot, because we cannot get rid of this pressure as the patient is inhaling.
If someone could help me, calculate the transfer function of the following step response, I would be really gratefull.
Thanks in advance. control_loop, pid, transfer function, step response MATLAB Answers — New Questions
How are the starting points for surrogate optimization chosen?
I have a question regarding the "starting points" or the random points chosen to construct the surrogate. Is it possible to access the function that determines how the surrogate selects its random points?
I am testing different algorithms in MATLAB for a global optimization problem, and I always perform 50 different trials of 100 iterations each. The surrogate algorithm consistently produces very similar starting points and performs exceptionally well with them. The documentation describes this process as a pseudorandom sequence (https://en.wikipedia.org/wiki/Low-discrepancy_sequence), but in my opinion, this does not explain the similarity of the points shown on the cost function graph, especially since no random seed is set.
The graph displays the mean, minimum, and maximum of the cost function for the surrogate algorithm with random starts (over the initial X condition in the options of the surrogate) called Surrogate RNG and the surrogate algorithm. It is interesting to note how close the minimum and maximum of the cost function of the surrogate are.
Is it possible to have more options for surrogate optimization (such as those available in https://github.com/Piiloblondie/MATSuMoTo)? Additionally, is it possible to access the function for determining the starting points so that I can try it with other algorithms?
What could be the reason for the starting points to be so close together even when no random seed is chosen?
For additional context, I use 8-13 different variables, all of which are doubles. I also use one linear constraint that can be implemented in the function.I have a question regarding the "starting points" or the random points chosen to construct the surrogate. Is it possible to access the function that determines how the surrogate selects its random points?
I am testing different algorithms in MATLAB for a global optimization problem, and I always perform 50 different trials of 100 iterations each. The surrogate algorithm consistently produces very similar starting points and performs exceptionally well with them. The documentation describes this process as a pseudorandom sequence (https://en.wikipedia.org/wiki/Low-discrepancy_sequence), but in my opinion, this does not explain the similarity of the points shown on the cost function graph, especially since no random seed is set.
The graph displays the mean, minimum, and maximum of the cost function for the surrogate algorithm with random starts (over the initial X condition in the options of the surrogate) called Surrogate RNG and the surrogate algorithm. It is interesting to note how close the minimum and maximum of the cost function of the surrogate are.
Is it possible to have more options for surrogate optimization (such as those available in https://github.com/Piiloblondie/MATSuMoTo)? Additionally, is it possible to access the function for determining the starting points so that I can try it with other algorithms?
What could be the reason for the starting points to be so close together even when no random seed is chosen?
For additional context, I use 8-13 different variables, all of which are doubles. I also use one linear constraint that can be implemented in the function. I have a question regarding the "starting points" or the random points chosen to construct the surrogate. Is it possible to access the function that determines how the surrogate selects its random points?
I am testing different algorithms in MATLAB for a global optimization problem, and I always perform 50 different trials of 100 iterations each. The surrogate algorithm consistently produces very similar starting points and performs exceptionally well with them. The documentation describes this process as a pseudorandom sequence (https://en.wikipedia.org/wiki/Low-discrepancy_sequence), but in my opinion, this does not explain the similarity of the points shown on the cost function graph, especially since no random seed is set.
The graph displays the mean, minimum, and maximum of the cost function for the surrogate algorithm with random starts (over the initial X condition in the options of the surrogate) called Surrogate RNG and the surrogate algorithm. It is interesting to note how close the minimum and maximum of the cost function of the surrogate are.
Is it possible to have more options for surrogate optimization (such as those available in https://github.com/Piiloblondie/MATSuMoTo)? Additionally, is it possible to access the function for determining the starting points so that I can try it with other algorithms?
What could be the reason for the starting points to be so close together even when no random seed is chosen?
For additional context, I use 8-13 different variables, all of which are doubles. I also use one linear constraint that can be implemented in the function. surrogate, global optimization toolbox MATLAB Answers — New Questions
Parsing and editing txt file line by line
Hello,
How to automatically transform a txt file in this form by removing strings start and end:
Onset,Annotation
+234.3428079,start
+244.1317829,end
+255.1007751,start
+263.0000000,end
to this form:
+234.3428079,+244.1317829
+255.1007751,+263.0000000
RegardsHello,
How to automatically transform a txt file in this form by removing strings start and end:
Onset,Annotation
+234.3428079,start
+244.1317829,end
+255.1007751,start
+263.0000000,end
to this form:
+234.3428079,+244.1317829
+255.1007751,+263.0000000
Regards Hello,
How to automatically transform a txt file in this form by removing strings start and end:
Onset,Annotation
+234.3428079,start
+244.1317829,end
+255.1007751,start
+263.0000000,end
to this form:
+234.3428079,+244.1317829
+255.1007751,+263.0000000
Regards parsing txt files MATLAB Answers — New Questions
MATLAB not indexing table with correct data type, how to specify data type when indexing table?
I wrote a script that takes in an excel table using the "readtable" command.
inputTable = readtable(completeTableFilePath,’Sheet’,sheetChoiceFileName,’TextType’,’string’);
This, to my knowledge, should import all the cells of the excel file as strings. One part of the excel file is a column that has hex numbers (they cold be just "92" or "13C" etc…).
I had a really long excel table (around 300 lines) that had this column of hex numbers. I tried the program with a smaller table, maybe only 8 lines, and now it is having issues, particularly in the hex column.
The code:
% I just added these for testing (the idName)
idName = upper(inputTable{currentRowNumber,’ID’});
idName
if upper(inputTable{currentRowNumber,’ID’}) ~= "TBD"
if upper(inputTable{currentRowNumber,’ID’}) ~= recurringID
recurringID = upper(inputTable{currentRowNumber,’ID’});
messageIDDecimal = hex2dec(recurringID);
end
end
As I said, I changed nothing about this between runs, it works perfectly with the large table and it does not work with the smaller table. When I try to run it with the smaller table (which is just the larger table with a lot of the rows chopped off) I get idName as a "double" data type.
I figured I could fix this, by instead of relying on MATLAB to have the correct data type (which it should anyways because I specified so earlier!) I force the data type of strings using string(…).
% idName for testing
idName = upper(string(inputTable{currentRowNumber,’ID’}));
idName
if upper(string(inputTable{currentRowNumber,’ID’})) ~= "TBD"
if upper(string(inputTable{currentRowNumber,’ID’})) ~= recurringID
recurringID = upper(string(inputTable{currentRowNumber,’ID’}));
messageIDDecimal = hex2dec(recurringID);
end
end
I ran the above code on the smaller table and got the error: <missing> string element not supported; error on line with the hex2dec. idName shows up as <missing>.
I changed the code again to show the raw table indexing:
% idName for testing
idName = upper(string(inputTable{currentRowNumber,’ID’}));
idName
idTest = inputTable{currentRowNumber,’ID’};
idTest
if upper(string(inputTable{currentRowNumber,’ID’})) ~= "TBD"
if upper(string(inputTable{currentRowNumber,’ID’})) ~= recurringID
recurringID = upper(string(inputTable{currentRowNumber,’ID’}));
messageIDDecimal = hex2dec(recurringID);
end
end
idTest was coming up as the double data type, until the final go. idName was <missing> and idTest was "NaN". To my knowledge, "NaN" is "Not a Number". It is giving an error because it’s trying to input a hex number as a regular double data type. I cannot find a way to fix this. I already specified that the table is to be imported as strings. I cannot cast to this, because its not just holding the data, but being the wrong type. It is throwing an error and not holding the data at all.
There is nothing I can do, unless there is some way to make MATLAB only import as a specific data type. I am having a lot of issues, because MATLAB assumes data types. Maybe coming from C just has me think differently. I can see how it can be useful, but the fact that there is no way around it (that I know of), makes it not useful.
I ran the script with "idName" and "idTest" on the larget excel table. It properly imported them as strings. I was able to index and both idTest and idName showed as strings, even the hex numbers that only had the regular 0-9 numbers. So it is not the code. It is just MATLAB sometimes deciding to import as strings and sometimes to not.I wrote a script that takes in an excel table using the "readtable" command.
inputTable = readtable(completeTableFilePath,’Sheet’,sheetChoiceFileName,’TextType’,’string’);
This, to my knowledge, should import all the cells of the excel file as strings. One part of the excel file is a column that has hex numbers (they cold be just "92" or "13C" etc…).
I had a really long excel table (around 300 lines) that had this column of hex numbers. I tried the program with a smaller table, maybe only 8 lines, and now it is having issues, particularly in the hex column.
The code:
% I just added these for testing (the idName)
idName = upper(inputTable{currentRowNumber,’ID’});
idName
if upper(inputTable{currentRowNumber,’ID’}) ~= "TBD"
if upper(inputTable{currentRowNumber,’ID’}) ~= recurringID
recurringID = upper(inputTable{currentRowNumber,’ID’});
messageIDDecimal = hex2dec(recurringID);
end
end
As I said, I changed nothing about this between runs, it works perfectly with the large table and it does not work with the smaller table. When I try to run it with the smaller table (which is just the larger table with a lot of the rows chopped off) I get idName as a "double" data type.
I figured I could fix this, by instead of relying on MATLAB to have the correct data type (which it should anyways because I specified so earlier!) I force the data type of strings using string(…).
% idName for testing
idName = upper(string(inputTable{currentRowNumber,’ID’}));
idName
if upper(string(inputTable{currentRowNumber,’ID’})) ~= "TBD"
if upper(string(inputTable{currentRowNumber,’ID’})) ~= recurringID
recurringID = upper(string(inputTable{currentRowNumber,’ID’}));
messageIDDecimal = hex2dec(recurringID);
end
end
I ran the above code on the smaller table and got the error: <missing> string element not supported; error on line with the hex2dec. idName shows up as <missing>.
I changed the code again to show the raw table indexing:
% idName for testing
idName = upper(string(inputTable{currentRowNumber,’ID’}));
idName
idTest = inputTable{currentRowNumber,’ID’};
idTest
if upper(string(inputTable{currentRowNumber,’ID’})) ~= "TBD"
if upper(string(inputTable{currentRowNumber,’ID’})) ~= recurringID
recurringID = upper(string(inputTable{currentRowNumber,’ID’}));
messageIDDecimal = hex2dec(recurringID);
end
end
idTest was coming up as the double data type, until the final go. idName was <missing> and idTest was "NaN". To my knowledge, "NaN" is "Not a Number". It is giving an error because it’s trying to input a hex number as a regular double data type. I cannot find a way to fix this. I already specified that the table is to be imported as strings. I cannot cast to this, because its not just holding the data, but being the wrong type. It is throwing an error and not holding the data at all.
There is nothing I can do, unless there is some way to make MATLAB only import as a specific data type. I am having a lot of issues, because MATLAB assumes data types. Maybe coming from C just has me think differently. I can see how it can be useful, but the fact that there is no way around it (that I know of), makes it not useful.
I ran the script with "idName" and "idTest" on the larget excel table. It properly imported them as strings. I was able to index and both idTest and idName showed as strings, even the hex numbers that only had the regular 0-9 numbers. So it is not the code. It is just MATLAB sometimes deciding to import as strings and sometimes to not. I wrote a script that takes in an excel table using the "readtable" command.
inputTable = readtable(completeTableFilePath,’Sheet’,sheetChoiceFileName,’TextType’,’string’);
This, to my knowledge, should import all the cells of the excel file as strings. One part of the excel file is a column that has hex numbers (they cold be just "92" or "13C" etc…).
I had a really long excel table (around 300 lines) that had this column of hex numbers. I tried the program with a smaller table, maybe only 8 lines, and now it is having issues, particularly in the hex column.
The code:
% I just added these for testing (the idName)
idName = upper(inputTable{currentRowNumber,’ID’});
idName
if upper(inputTable{currentRowNumber,’ID’}) ~= "TBD"
if upper(inputTable{currentRowNumber,’ID’}) ~= recurringID
recurringID = upper(inputTable{currentRowNumber,’ID’});
messageIDDecimal = hex2dec(recurringID);
end
end
As I said, I changed nothing about this between runs, it works perfectly with the large table and it does not work with the smaller table. When I try to run it with the smaller table (which is just the larger table with a lot of the rows chopped off) I get idName as a "double" data type.
I figured I could fix this, by instead of relying on MATLAB to have the correct data type (which it should anyways because I specified so earlier!) I force the data type of strings using string(…).
% idName for testing
idName = upper(string(inputTable{currentRowNumber,’ID’}));
idName
if upper(string(inputTable{currentRowNumber,’ID’})) ~= "TBD"
if upper(string(inputTable{currentRowNumber,’ID’})) ~= recurringID
recurringID = upper(string(inputTable{currentRowNumber,’ID’}));
messageIDDecimal = hex2dec(recurringID);
end
end
I ran the above code on the smaller table and got the error: <missing> string element not supported; error on line with the hex2dec. idName shows up as <missing>.
I changed the code again to show the raw table indexing:
% idName for testing
idName = upper(string(inputTable{currentRowNumber,’ID’}));
idName
idTest = inputTable{currentRowNumber,’ID’};
idTest
if upper(string(inputTable{currentRowNumber,’ID’})) ~= "TBD"
if upper(string(inputTable{currentRowNumber,’ID’})) ~= recurringID
recurringID = upper(string(inputTable{currentRowNumber,’ID’}));
messageIDDecimal = hex2dec(recurringID);
end
end
idTest was coming up as the double data type, until the final go. idName was <missing> and idTest was "NaN". To my knowledge, "NaN" is "Not a Number". It is giving an error because it’s trying to input a hex number as a regular double data type. I cannot find a way to fix this. I already specified that the table is to be imported as strings. I cannot cast to this, because its not just holding the data, but being the wrong type. It is throwing an error and not holding the data at all.
There is nothing I can do, unless there is some way to make MATLAB only import as a specific data type. I am having a lot of issues, because MATLAB assumes data types. Maybe coming from C just has me think differently. I can see how it can be useful, but the fact that there is no way around it (that I know of), makes it not useful.
I ran the script with "idName" and "idTest" on the larget excel table. It properly imported them as strings. I was able to index and both idTest and idName showed as strings, even the hex numbers that only had the regular 0-9 numbers. So it is not the code. It is just MATLAB sometimes deciding to import as strings and sometimes to not. table, importing excel data, data import, data types MATLAB Answers — New Questions
3D Figure from Excel (x,y,z)
I have been trying to create a 3D representation of my data for an ellipsoid-shaped measurement. I have x (length), y (width), and z (intensity) data and have been able to create plots in the past for a variation of this data (y was time). The data is 300×3 (100×1 for each value). For this project, I am struggling to create a 3D figure for my data. I have tried using surf, ellipsoid, fimplicit3, and a bunch of different functions. I’m attaching an image of the desired shape.
Does anyone have any ideas for what code or function I should try instead?I have been trying to create a 3D representation of my data for an ellipsoid-shaped measurement. I have x (length), y (width), and z (intensity) data and have been able to create plots in the past for a variation of this data (y was time). The data is 300×3 (100×1 for each value). For this project, I am struggling to create a 3D figure for my data. I have tried using surf, ellipsoid, fimplicit3, and a bunch of different functions. I’m attaching an image of the desired shape.
Does anyone have any ideas for what code or function I should try instead? I have been trying to create a 3D representation of my data for an ellipsoid-shaped measurement. I have x (length), y (width), and z (intensity) data and have been able to create plots in the past for a variation of this data (y was time). The data is 300×3 (100×1 for each value). For this project, I am struggling to create a 3D figure for my data. I have tried using surf, ellipsoid, fimplicit3, and a bunch of different functions. I’m attaching an image of the desired shape.
Does anyone have any ideas for what code or function I should try instead? 3d plots, importing excel data, matlab function, surf, ellipsoid, mesh, 3d MATLAB Answers — New Questions
Can we change the parameter values of the Simulink blocks in the HDL toolbox?
Hello, I am trying to create a toolchain from Simulink to an FPGA platform, and I am using the HDL Simulink block to design an OFDM system. Can I customize the parameter values of the HDL toolbox blocks? I haven’t been able to find any source code for the HDL toolbox blocks.Hello, I am trying to create a toolchain from Simulink to an FPGA platform, and I am using the HDL Simulink block to design an OFDM system. Can I customize the parameter values of the HDL toolbox blocks? I haven’t been able to find any source code for the HDL toolbox blocks. Hello, I am trying to create a toolchain from Simulink to an FPGA platform, and I am using the HDL Simulink block to design an OFDM system. Can I customize the parameter values of the HDL toolbox blocks? I haven’t been able to find any source code for the HDL toolbox blocks. #simulink#ofdm#hdltoolbox MATLAB Answers — New Questions
Convert vector of numeric values into a vector of equivalent 8-bit ‘int8’ binary values
Hi,
I am trying to convert a 1×4 numeric vector into the equivalent 8-bit binary ‘int8’ value which is also a 1×4 vector, however I am creating a 1×8 vector which appears to be the binary value of 8 which is the second element.
So each numeric element I want to convert to it’s 8-bit ‘int8’ binary equivalent and store it in the same element in another vector.
Assuming I have not messed up my Two’s Compliment I am expecting the row vector to be displayed as;
[10011110 01111000 01001111 00001000]
Any help would be appreciated.
x = [-98 8 49 120];
y = zeros(1,length(x));
for idx = 1:length(x)
y = bitget(x(idx),8:-1:1,’int8′);
end
disp(y)Hi,
I am trying to convert a 1×4 numeric vector into the equivalent 8-bit binary ‘int8’ value which is also a 1×4 vector, however I am creating a 1×8 vector which appears to be the binary value of 8 which is the second element.
So each numeric element I want to convert to it’s 8-bit ‘int8’ binary equivalent and store it in the same element in another vector.
Assuming I have not messed up my Two’s Compliment I am expecting the row vector to be displayed as;
[10011110 01111000 01001111 00001000]
Any help would be appreciated.
x = [-98 8 49 120];
y = zeros(1,length(x));
for idx = 1:length(x)
y = bitget(x(idx),8:-1:1,’int8′);
end
disp(y) Hi,
I am trying to convert a 1×4 numeric vector into the equivalent 8-bit binary ‘int8’ value which is also a 1×4 vector, however I am creating a 1×8 vector which appears to be the binary value of 8 which is the second element.
So each numeric element I want to convert to it’s 8-bit ‘int8’ binary equivalent and store it in the same element in another vector.
Assuming I have not messed up my Two’s Compliment I am expecting the row vector to be displayed as;
[10011110 01111000 01001111 00001000]
Any help would be appreciated.
x = [-98 8 49 120];
y = zeros(1,length(x));
for idx = 1:length(x)
y = bitget(x(idx),8:-1:1,’int8′);
end
disp(y) int8, bitget, binary MATLAB Answers — New Questions
How can people who are bad at math and have no programming aptitude learn MATLAB? (Long question)
Dear MATLAB community,
How can I help my close friend who’s bad at math and programming learn MATLAB?
He’s a final year chemical engineering student who struggles even to plot two functions on the same graph in his computational fluid dynamics class (there was no prereq for matlab skills).
In his first year, I saw him get dragged through the introductory engineering classes which was his first encounter with MATLAB. Students were taught a few rudimentary programming skills and then were expected to make a code for a ‘simple’ tic-tac-toe game. It took him hours of blank looks and tutoring to even understand the simplest of boolean operators. He was never able to write a working function without the supervision of a friend or tutor. Needless to say, he was permanently scarred by the experience and swore to avoid using it forever.
After 3 years of avoiding MATLAB, he realised how not knowing it hurt him during his final year project. He had to solve a system of pdes to model the performance of a reactor and practically speaking, MATLAB was the most suitable software at hand. He ended up having to get a friend to help him code the equations in while also having to oversimplify his model.
The weird thing is that: most students from his chemical engineering faculty were not expected or encouraged to use MATLAB, almost all of their prior assignments required no use of MATLAB except that infamous first year course, and most of his peers also avoided using MATLAB and resorted to Excel. It is my understanding that Excel cannot match MATLAB’s efficiency and clarity when solving calculus problems so it was not uncommon to see extremely long Excel spreadsheets.
Anyway, my friend is, with the help of a friend’s past year MATLAB codes, trying to finish up his computational fluid dynamics assignment that’s due soon. He finishes university in 2 weeks time.
Even though he knows that not every engineer has to use MATLAB in the workplace, he somehow wishes he was able to learn MATLAB at his glacial pace. I find it such a pity that he was never able to keep up with the pace of learning that was expected which begs the question: are students who are too slow at learning programming better of in a different field of study?
If you’ve managed to read to the end of this, thank you so much. I just don’t know how to help my friend and I’m hoping some of you might be able to suggest how I can help him be better at it. I believe he has potential but needs special help when it comes to MATLAB.
All helpful and constructive suggestions considered,
Thank You AllDear MATLAB community,
How can I help my close friend who’s bad at math and programming learn MATLAB?
He’s a final year chemical engineering student who struggles even to plot two functions on the same graph in his computational fluid dynamics class (there was no prereq for matlab skills).
In his first year, I saw him get dragged through the introductory engineering classes which was his first encounter with MATLAB. Students were taught a few rudimentary programming skills and then were expected to make a code for a ‘simple’ tic-tac-toe game. It took him hours of blank looks and tutoring to even understand the simplest of boolean operators. He was never able to write a working function without the supervision of a friend or tutor. Needless to say, he was permanently scarred by the experience and swore to avoid using it forever.
After 3 years of avoiding MATLAB, he realised how not knowing it hurt him during his final year project. He had to solve a system of pdes to model the performance of a reactor and practically speaking, MATLAB was the most suitable software at hand. He ended up having to get a friend to help him code the equations in while also having to oversimplify his model.
The weird thing is that: most students from his chemical engineering faculty were not expected or encouraged to use MATLAB, almost all of their prior assignments required no use of MATLAB except that infamous first year course, and most of his peers also avoided using MATLAB and resorted to Excel. It is my understanding that Excel cannot match MATLAB’s efficiency and clarity when solving calculus problems so it was not uncommon to see extremely long Excel spreadsheets.
Anyway, my friend is, with the help of a friend’s past year MATLAB codes, trying to finish up his computational fluid dynamics assignment that’s due soon. He finishes university in 2 weeks time.
Even though he knows that not every engineer has to use MATLAB in the workplace, he somehow wishes he was able to learn MATLAB at his glacial pace. I find it such a pity that he was never able to keep up with the pace of learning that was expected which begs the question: are students who are too slow at learning programming better of in a different field of study?
If you’ve managed to read to the end of this, thank you so much. I just don’t know how to help my friend and I’m hoping some of you might be able to suggest how I can help him be better at it. I believe he has potential but needs special help when it comes to MATLAB.
All helpful and constructive suggestions considered,
Thank You All Dear MATLAB community,
How can I help my close friend who’s bad at math and programming learn MATLAB?
He’s a final year chemical engineering student who struggles even to plot two functions on the same graph in his computational fluid dynamics class (there was no prereq for matlab skills).
In his first year, I saw him get dragged through the introductory engineering classes which was his first encounter with MATLAB. Students were taught a few rudimentary programming skills and then were expected to make a code for a ‘simple’ tic-tac-toe game. It took him hours of blank looks and tutoring to even understand the simplest of boolean operators. He was never able to write a working function without the supervision of a friend or tutor. Needless to say, he was permanently scarred by the experience and swore to avoid using it forever.
After 3 years of avoiding MATLAB, he realised how not knowing it hurt him during his final year project. He had to solve a system of pdes to model the performance of a reactor and practically speaking, MATLAB was the most suitable software at hand. He ended up having to get a friend to help him code the equations in while also having to oversimplify his model.
The weird thing is that: most students from his chemical engineering faculty were not expected or encouraged to use MATLAB, almost all of their prior assignments required no use of MATLAB except that infamous first year course, and most of his peers also avoided using MATLAB and resorted to Excel. It is my understanding that Excel cannot match MATLAB’s efficiency and clarity when solving calculus problems so it was not uncommon to see extremely long Excel spreadsheets.
Anyway, my friend is, with the help of a friend’s past year MATLAB codes, trying to finish up his computational fluid dynamics assignment that’s due soon. He finishes university in 2 weeks time.
Even though he knows that not every engineer has to use MATLAB in the workplace, he somehow wishes he was able to learn MATLAB at his glacial pace. I find it such a pity that he was never able to keep up with the pace of learning that was expected which begs the question: are students who are too slow at learning programming better of in a different field of study?
If you’ve managed to read to the end of this, thank you so much. I just don’t know how to help my friend and I’m hoping some of you might be able to suggest how I can help him be better at it. I believe he has potential but needs special help when it comes to MATLAB.
All helpful and constructive suggestions considered,
Thank You All #beginner MATLAB Answers — New Questions
Issues with Identifying “Signal Copy” Blocks in Simulink Model Using find_system
I am working on a Simulink model where I need to identify all the "Signal Copy" blocks and replace them with direct connections between their source and destination blocks.
However, I am having trouble finding these blocks using the ‘find_system’ function.
signalCopies = find_system(model, ‘BlockType’, ‘SignalCopy’);
Unfortunately, this command returns nothing, even though there are "Signal Copy" blocks present in the model.I am working on a Simulink model where I need to identify all the "Signal Copy" blocks and replace them with direct connections between their source and destination blocks.
However, I am having trouble finding these blocks using the ‘find_system’ function.
signalCopies = find_system(model, ‘BlockType’, ‘SignalCopy’);
Unfortunately, this command returns nothing, even though there are "Signal Copy" blocks present in the model. I am working on a Simulink model where I need to identify all the "Signal Copy" blocks and replace them with direct connections between their source and destination blocks.
However, I am having trouble finding these blocks using the ‘find_system’ function.
signalCopies = find_system(model, ‘BlockType’, ‘SignalCopy’);
Unfortunately, this command returns nothing, even though there are "Signal Copy" blocks present in the model. sil testing MATLAB Answers — New Questions
The Excavator Hydraulic Jack Forces are Changing Direction in Simscape Multibody
I am trying to model a mechanism of excavators in the Simscape multibody.
I am using prismatic joint to simulate the functionality of hydraulic jacks with the following settings:
I motion the hydraulic jacks (using PS Ramp bock) and track the sensed "actuator force" parameter via a scope block.
So technically, I am doing an Inverse dynamic analysis to calculate the needed force on the hydraulic jacks and because during my simulation, all of the jacks (modeled with Prismatic joints) are getting opened, I am expecting that all the actuator forces be positive; however, the sign of force is changing over the simulation (!) which I believe it is wrong as I set to the motion of prismatic joints in one direction and the actuator force should be along this direction too. So I was wondering, why this is happening?!I am trying to model a mechanism of excavators in the Simscape multibody.
I am using prismatic joint to simulate the functionality of hydraulic jacks with the following settings:
I motion the hydraulic jacks (using PS Ramp bock) and track the sensed "actuator force" parameter via a scope block.
So technically, I am doing an Inverse dynamic analysis to calculate the needed force on the hydraulic jacks and because during my simulation, all of the jacks (modeled with Prismatic joints) are getting opened, I am expecting that all the actuator forces be positive; however, the sign of force is changing over the simulation (!) which I believe it is wrong as I set to the motion of prismatic joints in one direction and the actuator force should be along this direction too. So I was wondering, why this is happening?! I am trying to model a mechanism of excavators in the Simscape multibody.
I am using prismatic joint to simulate the functionality of hydraulic jacks with the following settings:
I motion the hydraulic jacks (using PS Ramp bock) and track the sensed "actuator force" parameter via a scope block.
So technically, I am doing an Inverse dynamic analysis to calculate the needed force on the hydraulic jacks and because during my simulation, all of the jacks (modeled with Prismatic joints) are getting opened, I am expecting that all the actuator forces be positive; however, the sign of force is changing over the simulation (!) which I believe it is wrong as I set to the motion of prismatic joints in one direction and the actuator force should be along this direction too. So I was wondering, why this is happening?! simscape, inverse dynamic, prismatic joint, actuated force, hydraulic jack MATLAB Answers — New Questions
Can I run 2 or more matlab scripts (each running in a separate matlab session) using the same data in a folder without them interfering with each other?
I have a set of database (multiple *.mat files) collected in a folder, which I can recall in a subsequent run. Let say I have n=100 mat files, and each *.mat file contains a set of matrices and vectors, say M and V. In such a subseq. run, computation will be performed for cases "n_i=1:100" subsequently, and M and V will be loaded for every "n_i". Would it be possible to run multiple scripts, each running a subsequent run? If script A is running n_i=3, and script B, running in the same folder, is running n_i=10, would M and V loaded by script A, replaced by the ones loaded by script B? Or are they compartmentalized in each script?
Thank you in advance.I have a set of database (multiple *.mat files) collected in a folder, which I can recall in a subsequent run. Let say I have n=100 mat files, and each *.mat file contains a set of matrices and vectors, say M and V. In such a subseq. run, computation will be performed for cases "n_i=1:100" subsequently, and M and V will be loaded for every "n_i". Would it be possible to run multiple scripts, each running a subsequent run? If script A is running n_i=3, and script B, running in the same folder, is running n_i=10, would M and V loaded by script A, replaced by the ones loaded by script B? Or are they compartmentalized in each script?
Thank you in advance. I have a set of database (multiple *.mat files) collected in a folder, which I can recall in a subsequent run. Let say I have n=100 mat files, and each *.mat file contains a set of matrices and vectors, say M and V. In such a subseq. run, computation will be performed for cases "n_i=1:100" subsequently, and M and V will be loaded for every "n_i". Would it be possible to run multiple scripts, each running a subsequent run? If script A is running n_i=3, and script B, running in the same folder, is running n_i=10, would M and V loaded by script A, replaced by the ones loaded by script B? Or are they compartmentalized in each script?
Thank you in advance. database MATLAB Answers — New Questions
Is enabled subsystem confusing?
Hello,
It is confusing for me to have this title as "States When Enabling" as the descirption is different, so should this be "When Disabling" instead?
<</matlabcentral/answers/uploaded_files/1718646/Screenshot_20240619_160214_Chrome.jpg>>Hello,
It is confusing for me to have this title as "States When Enabling" as the descirption is different, so should this be "When Disabling" instead?
<</matlabcentral/answers/uploaded_files/1718646/Screenshot_20240619_160214_Chrome.jpg>> Hello,
It is confusing for me to have this title as "States When Enabling" as the descirption is different, so should this be "When Disabling" instead?
<</matlabcentral/answers/uploaded_files/1718646/Screenshot_20240619_160214_Chrome.jpg>> simulink MATLAB Answers — New Questions
Shooting Method with Secant Method
Hi all,
I am working on a problem to solve a second order differential equation. I am using the numerical method ‘the shooting method’ and I need to perform iterations to find the initial value of the slope. To do this I am using the secant method. My intial values to start the shooting method for z are -4 and 4. From this is get the corresponding y values of -65.025 (3dp) and 106.062 (3dp) respectively. I am aiming to find the value of z when y = 0. Thus, I proceed to the secant method to find the value of ‘z’ when y = 0;
The formula for secant method is:
z2 = z1 – (y(z1) – 0)*(z1 – z2)/(y(z1 – y(z0))
I want to make a loop where this updates: Hence:
z0 = z1
z1 = z2
y(z0) = y(z1)
y(z1) = y(z2)
So, the next iteration is:
z3 = z2 – (y(z2) – 0)*(z2 – z21/(y(z2 – y(z2))
The thing is I now need to compute y(z2). I can do this, but it would meaning copying and pasting another block of code. Thus, my question is how to make the algorithm in MATLAB so that I can perform the desired number of iterations I want within the for loop? Rather than copying and pasting the code below over and over again until I reach a satisfactory point of convergence?
Here is my code:
clear, clc, close all
format longG
% Structural Properties
E = 2.1E+08;
Ic = 22530/100^4;
Ib = 19460/100^4;
Ac = 168/100^2;
h = 0.5;
r = 1;
Gi = (1*E*Ib/10);
Ci = 1/2*(E*Ic/h);
g = Gi/Ci;
K = (6*g + 1 + r);
V = [0 0 0 0 0 35 0 0 0 0 0 25 0 0 0 0 0 15 0 0 0 0 0 5 0];
%Initial Conditions 1
y = 0
z = -4
for i = 1:24
if i == 6 || i == 12 || i == 18
F(i) = h*(V(i) + V(i+6))/(4*Ci);
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h;
else F(i) = 0;
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h;
end
if i == 24
F(i) = h*(V(i))/(4*Ci);
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h
end
q0 = y(end)
p0 = z(1)
end
q0 = y(end)
p0 = z(1)
%Initial Conditions 2
y = 0
z = 4
for i = 1:24
if i == 6 || i == 12 || i == 18
F(i) = h*(V(i) + V(i+6))/(4*Ci);
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h;
else F(i) = 0;
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h;
end
if i == 24
F(i) = h*(V(i))/(4*Ci);
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h
end
end
q1 = y(end)
p1 = z(1)
% Secant Method
p2 = p1 – (q1 – 0)*(p1 – p0)/(q1 -q0)
I have left the secant method formula outside the loop, because I am unsure how to include it in the loop to perform the iterations I previously explained.
I understand that this is quite a long question. So thank you in advance for any help. However, you guys on here are great, so I hoping its not too tedious for you.
Many thanks,
ScottHi all,
I am working on a problem to solve a second order differential equation. I am using the numerical method ‘the shooting method’ and I need to perform iterations to find the initial value of the slope. To do this I am using the secant method. My intial values to start the shooting method for z are -4 and 4. From this is get the corresponding y values of -65.025 (3dp) and 106.062 (3dp) respectively. I am aiming to find the value of z when y = 0. Thus, I proceed to the secant method to find the value of ‘z’ when y = 0;
The formula for secant method is:
z2 = z1 – (y(z1) – 0)*(z1 – z2)/(y(z1 – y(z0))
I want to make a loop where this updates: Hence:
z0 = z1
z1 = z2
y(z0) = y(z1)
y(z1) = y(z2)
So, the next iteration is:
z3 = z2 – (y(z2) – 0)*(z2 – z21/(y(z2 – y(z2))
The thing is I now need to compute y(z2). I can do this, but it would meaning copying and pasting another block of code. Thus, my question is how to make the algorithm in MATLAB so that I can perform the desired number of iterations I want within the for loop? Rather than copying and pasting the code below over and over again until I reach a satisfactory point of convergence?
Here is my code:
clear, clc, close all
format longG
% Structural Properties
E = 2.1E+08;
Ic = 22530/100^4;
Ib = 19460/100^4;
Ac = 168/100^2;
h = 0.5;
r = 1;
Gi = (1*E*Ib/10);
Ci = 1/2*(E*Ic/h);
g = Gi/Ci;
K = (6*g + 1 + r);
V = [0 0 0 0 0 35 0 0 0 0 0 25 0 0 0 0 0 15 0 0 0 0 0 5 0];
%Initial Conditions 1
y = 0
z = -4
for i = 1:24
if i == 6 || i == 12 || i == 18
F(i) = h*(V(i) + V(i+6))/(4*Ci);
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h;
else F(i) = 0;
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h;
end
if i == 24
F(i) = h*(V(i))/(4*Ci);
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h
end
q0 = y(end)
p0 = z(1)
end
q0 = y(end)
p0 = z(1)
%Initial Conditions 2
y = 0
z = 4
for i = 1:24
if i == 6 || i == 12 || i == 18
F(i) = h*(V(i) + V(i+6))/(4*Ci);
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h;
else F(i) = 0;
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h;
end
if i == 24
F(i) = h*(V(i))/(4*Ci);
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h
end
end
q1 = y(end)
p1 = z(1)
% Secant Method
p2 = p1 – (q1 – 0)*(p1 – p0)/(q1 -q0)
I have left the secant method formula outside the loop, because I am unsure how to include it in the loop to perform the iterations I previously explained.
I understand that this is quite a long question. So thank you in advance for any help. However, you guys on here are great, so I hoping its not too tedious for you.
Many thanks,
Scott Hi all,
I am working on a problem to solve a second order differential equation. I am using the numerical method ‘the shooting method’ and I need to perform iterations to find the initial value of the slope. To do this I am using the secant method. My intial values to start the shooting method for z are -4 and 4. From this is get the corresponding y values of -65.025 (3dp) and 106.062 (3dp) respectively. I am aiming to find the value of z when y = 0. Thus, I proceed to the secant method to find the value of ‘z’ when y = 0;
The formula for secant method is:
z2 = z1 – (y(z1) – 0)*(z1 – z2)/(y(z1 – y(z0))
I want to make a loop where this updates: Hence:
z0 = z1
z1 = z2
y(z0) = y(z1)
y(z1) = y(z2)
So, the next iteration is:
z3 = z2 – (y(z2) – 0)*(z2 – z21/(y(z2 – y(z2))
The thing is I now need to compute y(z2). I can do this, but it would meaning copying and pasting another block of code. Thus, my question is how to make the algorithm in MATLAB so that I can perform the desired number of iterations I want within the for loop? Rather than copying and pasting the code below over and over again until I reach a satisfactory point of convergence?
Here is my code:
clear, clc, close all
format longG
% Structural Properties
E = 2.1E+08;
Ic = 22530/100^4;
Ib = 19460/100^4;
Ac = 168/100^2;
h = 0.5;
r = 1;
Gi = (1*E*Ib/10);
Ci = 1/2*(E*Ic/h);
g = Gi/Ci;
K = (6*g + 1 + r);
V = [0 0 0 0 0 35 0 0 0 0 0 25 0 0 0 0 0 15 0 0 0 0 0 5 0];
%Initial Conditions 1
y = 0
z = -4
for i = 1:24
if i == 6 || i == 12 || i == 18
F(i) = h*(V(i) + V(i+6))/(4*Ci);
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h;
else F(i) = 0;
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h;
end
if i == 24
F(i) = h*(V(i))/(4*Ci);
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h
end
q0 = y(end)
p0 = z(1)
end
q0 = y(end)
p0 = z(1)
%Initial Conditions 2
y = 0
z = 4
for i = 1:24
if i == 6 || i == 12 || i == 18
F(i) = h*(V(i) + V(i+6))/(4*Ci);
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h;
else F(i) = 0;
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h;
end
if i == 24
F(i) = h*(V(i))/(4*Ci);
z(i+1) = z(i) + ((F(i) – K*z(i) + y(i))/(-z(i)))*h;
y(i+1) = y(i) + z(i)*h
end
end
q1 = y(end)
p1 = z(1)
% Secant Method
p2 = p1 – (q1 – 0)*(p1 – p0)/(q1 -q0)
I have left the secant method formula outside the loop, because I am unsure how to include it in the loop to perform the iterations I previously explained.
I understand that this is quite a long question. So thank you in advance for any help. However, you guys on here are great, so I hoping its not too tedious for you.
Many thanks,
Scott for loop MATLAB Answers — New Questions
i try to do quadratic interpolation with 3 initial guesses. when i run the code it do nothing
d=input(‘Please enter a function f(x): ‘);
x0=input(‘Please give a initial guess of x0: ‘);
x1=input(‘Please give a initial guess of x1: ‘);
x2=input(‘Please give a initial guess of x2: ‘);
signum=input(‘Please enter the prespecified error: ‘);
f=inline(d);
i=1;
x3=(f(x0)*(x1^2-x2^2)+f(x1)*(x2^2-x0^2)+f(x2)*(x0^2-x1^2))/(2*f(x0)*(x1-x2)+2*f(x1)*(x2-x0)+2*f(x2)*(x0-x1));
x(i)=x3;
error(i)=9999;
es=(0.5*10^(2-signum));
while error(i)>=es
x(i+1)=(f(x0)*(x1^2-x2^2)+f(x1)*(x2^2-x0^2)+f(x2)*(x0^2-x1^2))/(2*f(x0)*(x1-x2)+2*f(x1)*(x2-x0)+2*f(x2)*(x0-x1));
a=x(i+1);
if f(a)>f(x0)
if f(a)>f(x2)
x0=x1;
x1=x(i+1);
x(i+1)=(f(x0)*(x1^2-x2^2)+f(x1)*(x2^2-x0^2)+f(x2)*(x0^2-x1^2))/(2*f(x0)*(x1-x2)+2*f(x1)*(x2-x0)+2*f(x2)*(x0-x1));
elseif f(a)<f(x2)
x2=x1;
x1=x(i+1);
end
end
error(i+1)=abs((((x(i+1)-x(i))/(x(i+1)))*100));
i=i+1;
endd=input(‘Please enter a function f(x): ‘);
x0=input(‘Please give a initial guess of x0: ‘);
x1=input(‘Please give a initial guess of x1: ‘);
x2=input(‘Please give a initial guess of x2: ‘);
signum=input(‘Please enter the prespecified error: ‘);
f=inline(d);
i=1;
x3=(f(x0)*(x1^2-x2^2)+f(x1)*(x2^2-x0^2)+f(x2)*(x0^2-x1^2))/(2*f(x0)*(x1-x2)+2*f(x1)*(x2-x0)+2*f(x2)*(x0-x1));
x(i)=x3;
error(i)=9999;
es=(0.5*10^(2-signum));
while error(i)>=es
x(i+1)=(f(x0)*(x1^2-x2^2)+f(x1)*(x2^2-x0^2)+f(x2)*(x0^2-x1^2))/(2*f(x0)*(x1-x2)+2*f(x1)*(x2-x0)+2*f(x2)*(x0-x1));
a=x(i+1);
if f(a)>f(x0)
if f(a)>f(x2)
x0=x1;
x1=x(i+1);
x(i+1)=(f(x0)*(x1^2-x2^2)+f(x1)*(x2^2-x0^2)+f(x2)*(x0^2-x1^2))/(2*f(x0)*(x1-x2)+2*f(x1)*(x2-x0)+2*f(x2)*(x0-x1));
elseif f(a)<f(x2)
x2=x1;
x1=x(i+1);
end
end
error(i+1)=abs((((x(i+1)-x(i))/(x(i+1)))*100));
i=i+1;
end d=input(‘Please enter a function f(x): ‘);
x0=input(‘Please give a initial guess of x0: ‘);
x1=input(‘Please give a initial guess of x1: ‘);
x2=input(‘Please give a initial guess of x2: ‘);
signum=input(‘Please enter the prespecified error: ‘);
f=inline(d);
i=1;
x3=(f(x0)*(x1^2-x2^2)+f(x1)*(x2^2-x0^2)+f(x2)*(x0^2-x1^2))/(2*f(x0)*(x1-x2)+2*f(x1)*(x2-x0)+2*f(x2)*(x0-x1));
x(i)=x3;
error(i)=9999;
es=(0.5*10^(2-signum));
while error(i)>=es
x(i+1)=(f(x0)*(x1^2-x2^2)+f(x1)*(x2^2-x0^2)+f(x2)*(x0^2-x1^2))/(2*f(x0)*(x1-x2)+2*f(x1)*(x2-x0)+2*f(x2)*(x0-x1));
a=x(i+1);
if f(a)>f(x0)
if f(a)>f(x2)
x0=x1;
x1=x(i+1);
x(i+1)=(f(x0)*(x1^2-x2^2)+f(x1)*(x2^2-x0^2)+f(x2)*(x0^2-x1^2))/(2*f(x0)*(x1-x2)+2*f(x1)*(x2-x0)+2*f(x2)*(x0-x1));
elseif f(a)<f(x2)
x2=x1;
x1=x(i+1);
end
end
error(i+1)=abs((((x(i+1)-x(i))/(x(i+1)))*100));
i=i+1;
end quadratic polynomial interpolation curve fitting MATLAB Answers — New Questions
MATLAB FFT bin size
I am attemping to create an FFT function that allows me to set the frequency range of the FFT, the number of bins, and windowing type. For the frequnecy range, my logic is to use a low-pass filter. If I add a filter, does it make sense to have windowing? How am I able to set a distinct number of bins in the FFT, it seems that automaticcaly the number of bins is incredibly high (I am collecting data at 48 kHz for about 90 seconds). I would like the bin width to be around 1 Hz instead of ~.01 which it currently is. How can I change this? We have another program that is able to achieve this, so I know that it is possible, but is this program cutting out data to achieve this?I am attemping to create an FFT function that allows me to set the frequency range of the FFT, the number of bins, and windowing type. For the frequnecy range, my logic is to use a low-pass filter. If I add a filter, does it make sense to have windowing? How am I able to set a distinct number of bins in the FFT, it seems that automaticcaly the number of bins is incredibly high (I am collecting data at 48 kHz for about 90 seconds). I would like the bin width to be around 1 Hz instead of ~.01 which it currently is. How can I change this? We have another program that is able to achieve this, so I know that it is possible, but is this program cutting out data to achieve this? I am attemping to create an FFT function that allows me to set the frequency range of the FFT, the number of bins, and windowing type. For the frequnecy range, my logic is to use a low-pass filter. If I add a filter, does it make sense to have windowing? How am I able to set a distinct number of bins in the FFT, it seems that automaticcaly the number of bins is incredibly high (I am collecting data at 48 kHz for about 90 seconds). I would like the bin width to be around 1 Hz instead of ~.01 which it currently is. How can I change this? We have another program that is able to achieve this, so I know that it is possible, but is this program cutting out data to achieve this? fft, signal processing, digital signal processing, filter MATLAB Answers — New Questions
Passing Command Like Arguments to a compiled Simulink Model
Hello,
I’d like to pass command line arguments to a compiled GRT Simulink model. The idea is to overwrite pre defined variables used in the model, e.g. in a Constant block. So far I could not find any information on this.
Thank you in advance for your help!
Best,
LeonHello,
I’d like to pass command line arguments to a compiled GRT Simulink model. The idea is to overwrite pre defined variables used in the model, e.g. in a Constant block. So far I could not find any information on this.
Thank you in advance for your help!
Best,
Leon Hello,
I’d like to pass command line arguments to a compiled GRT Simulink model. The idea is to overwrite pre defined variables used in the model, e.g. in a Constant block. So far I could not find any information on this.
Thank you in advance for your help!
Best,
Leon simulink, binary, compilation, command line, arguments MATLAB Answers — New Questions
Can’t update Matlab from 2019b to 2023b under Win10
I’ve downloaded the 2023 update package for updating my off line Matlab system. I follow the instructions. When I start Mathworksupdateinstaller, I get a blue screen with a window schetch in the right lower corner. Nothing more. When I brake out after a while, I get told ‘No permissions’. I have succesfully logged in both as admin and with my userThe cv-log contains more than 800 lines of this:
{"logTime": "0607/084838", "correlationVector":"sFXPYkuspD/7W0NNS8WKSp","action":"EXTENSION_UPDATER", "result":""}
{"logTime": "0607/084840", "correlationVector":"JS5fPs9bfqSIcuFCgEp0BV","action":"EXTENSION_UPDATER", "result":""}
{"logTime": "0607/084844", "correlationVector":"wzHgPJW0SFOni4bfI4cC+U","action":"EXTENSION_UPDATER", "result":""}
{"logTime": "0607/094838", "correlationVector":"kTx5PeWO2xUCkmNlTAJoZG","action":"EXTENSION_UPDATER", "result":""}
{"logTime": "0607/094840", "correlationVector":"1cwc0BKbLtDQokkVOAAh2o","action":"EXTENSION_UPDATER", "result":""}
{"logTime": "0607/094844", "correlationVector":"33kSEtVRqwHhtCgacLyn8J","action":"EXTENSION_UPDATER", "result":""}
What is the issue?I’ve downloaded the 2023 update package for updating my off line Matlab system. I follow the instructions. When I start Mathworksupdateinstaller, I get a blue screen with a window schetch in the right lower corner. Nothing more. When I brake out after a while, I get told ‘No permissions’. I have succesfully logged in both as admin and with my userThe cv-log contains more than 800 lines of this:
{"logTime": "0607/084838", "correlationVector":"sFXPYkuspD/7W0NNS8WKSp","action":"EXTENSION_UPDATER", "result":""}
{"logTime": "0607/084840", "correlationVector":"JS5fPs9bfqSIcuFCgEp0BV","action":"EXTENSION_UPDATER", "result":""}
{"logTime": "0607/084844", "correlationVector":"wzHgPJW0SFOni4bfI4cC+U","action":"EXTENSION_UPDATER", "result":""}
{"logTime": "0607/094838", "correlationVector":"kTx5PeWO2xUCkmNlTAJoZG","action":"EXTENSION_UPDATER", "result":""}
{"logTime": "0607/094840", "correlationVector":"1cwc0BKbLtDQokkVOAAh2o","action":"EXTENSION_UPDATER", "result":""}
{"logTime": "0607/094844", "correlationVector":"33kSEtVRqwHhtCgacLyn8J","action":"EXTENSION_UPDATER", "result":""}
What is the issue? I’ve downloaded the 2023 update package for updating my off line Matlab system. I follow the instructions. When I start Mathworksupdateinstaller, I get a blue screen with a window schetch in the right lower corner. Nothing more. When I brake out after a while, I get told ‘No permissions’. I have succesfully logged in both as admin and with my userThe cv-log contains more than 800 lines of this:
{"logTime": "0607/084838", "correlationVector":"sFXPYkuspD/7W0NNS8WKSp","action":"EXTENSION_UPDATER", "result":""}
{"logTime": "0607/084840", "correlationVector":"JS5fPs9bfqSIcuFCgEp0BV","action":"EXTENSION_UPDATER", "result":""}
{"logTime": "0607/084844", "correlationVector":"wzHgPJW0SFOni4bfI4cC+U","action":"EXTENSION_UPDATER", "result":""}
{"logTime": "0607/094838", "correlationVector":"kTx5PeWO2xUCkmNlTAJoZG","action":"EXTENSION_UPDATER", "result":""}
{"logTime": "0607/094840", "correlationVector":"1cwc0BKbLtDQokkVOAAh2o","action":"EXTENSION_UPDATER", "result":""}
{"logTime": "0607/094844", "correlationVector":"33kSEtVRqwHhtCgacLyn8J","action":"EXTENSION_UPDATER", "result":""}
What is the issue? upgrade, offline, r2019b r2023b, win10 MATLAB Answers — New Questions
Blank Documentation 2023b
Recently we have some upgrade version from 2020a to 2023b.
Some users complain that they lost access to the documentation from help. We discover that the product documentation is with 2023a possible to run by web – to reduce the installation footprint – so we understand that, and to avoid install so big package with documentation we wanted to allow users connect to the documentation from their devices. As of documentation which I checked we provided proxy server and test connection is success. From web browser the communication is working for users also and they see all the functions. But when they want to use the help center in the Matlab the page is still blank :Recently we have some upgrade version from 2020a to 2023b.
Some users complain that they lost access to the documentation from help. We discover that the product documentation is with 2023a possible to run by web – to reduce the installation footprint – so we understand that, and to avoid install so big package with documentation we wanted to allow users connect to the documentation from their devices. As of documentation which I checked we provided proxy server and test connection is success. From web browser the communication is working for users also and they see all the functions. But when they want to use the help center in the Matlab the page is still blank : Recently we have some upgrade version from 2020a to 2023b.
Some users complain that they lost access to the documentation from help. We discover that the product documentation is with 2023a possible to run by web – to reduce the installation footprint – so we understand that, and to avoid install so big package with documentation we wanted to allow users connect to the documentation from their devices. As of documentation which I checked we provided proxy server and test connection is success. From web browser the communication is working for users also and they see all the functions. But when they want to use the help center in the Matlab the page is still blank : documentation, help, proxy, web MATLAB Answers — New Questions
Different MFCC obtained from audioFeatureExtractor and MFCC function
Hi,
I’m trying to use the "audioFeatureExtractor" and the MFCC function to get the MFCC data from an audio sample but noticed the coefficients are different. I´m assuming some default settings are different between these codes but cannot figure exactly what the difference is. Could you please help? Please find below a simple script to provide more detail. I’m comparing "MFCC1" MFCC2". I´ve tried several .wav and .m4a files but the MFCCs were never the same so I´m just using a generic "xxxxxxx" for file name.
[audioIn,fs] = audioread("xxxxxxx");
win1 = hamming(round(0.03*fs),"periodic");
win2 = round(0.015*fs);
aFE = audioFeatureExtractor(SampleRate=fs,Window=win1,OverlapLength=win2,mfcc=1);
features = extract(aFE,audioIn);
idx = info(aFE);
MFCC1 = features(:,idx.mfcc);
MFCC2 = mfcc(audioIn,fs,"LogEnergy","ignore","Window",win1,"Overlaplength",win2,"NumCoeffs",13);Hi,
I’m trying to use the "audioFeatureExtractor" and the MFCC function to get the MFCC data from an audio sample but noticed the coefficients are different. I´m assuming some default settings are different between these codes but cannot figure exactly what the difference is. Could you please help? Please find below a simple script to provide more detail. I’m comparing "MFCC1" MFCC2". I´ve tried several .wav and .m4a files but the MFCCs were never the same so I´m just using a generic "xxxxxxx" for file name.
[audioIn,fs] = audioread("xxxxxxx");
win1 = hamming(round(0.03*fs),"periodic");
win2 = round(0.015*fs);
aFE = audioFeatureExtractor(SampleRate=fs,Window=win1,OverlapLength=win2,mfcc=1);
features = extract(aFE,audioIn);
idx = info(aFE);
MFCC1 = features(:,idx.mfcc);
MFCC2 = mfcc(audioIn,fs,"LogEnergy","ignore","Window",win1,"Overlaplength",win2,"NumCoeffs",13); Hi,
I’m trying to use the "audioFeatureExtractor" and the MFCC function to get the MFCC data from an audio sample but noticed the coefficients are different. I´m assuming some default settings are different between these codes but cannot figure exactly what the difference is. Could you please help? Please find below a simple script to provide more detail. I’m comparing "MFCC1" MFCC2". I´ve tried several .wav and .m4a files but the MFCCs were never the same so I´m just using a generic "xxxxxxx" for file name.
[audioIn,fs] = audioread("xxxxxxx");
win1 = hamming(round(0.03*fs),"periodic");
win2 = round(0.015*fs);
aFE = audioFeatureExtractor(SampleRate=fs,Window=win1,OverlapLength=win2,mfcc=1);
features = extract(aFE,audioIn);
idx = info(aFE);
MFCC1 = features(:,idx.mfcc);
MFCC2 = mfcc(audioIn,fs,"LogEnergy","ignore","Window",win1,"Overlaplength",win2,"NumCoeffs",13); mfcc, audiofeatureextractor MATLAB Answers — New Questions
readtable can read Excel XLS but not XLSX on OneDrive?
Hello!
Unable to open file ‘C:UsersjuansOneDriveJuanMatlabBook5.xlsx’ as a workbook. Check that the file exists, read access is available, and the file is a valid spreadsheet file.
A while ago, it was identified that there was an issue with OneDrive blocking Excel files, and you have to close the file on Excel in order for MATLAB to open it, which is very inconvenient for the workflow. Another workaround I found is to use XLS, which is also not always a good solution. I could not find whether this issue has been solved.
What is the current status of this issue? (I have 2023a)
Cheers!Hello!
Unable to open file ‘C:UsersjuansOneDriveJuanMatlabBook5.xlsx’ as a workbook. Check that the file exists, read access is available, and the file is a valid spreadsheet file.
A while ago, it was identified that there was an issue with OneDrive blocking Excel files, and you have to close the file on Excel in order for MATLAB to open it, which is very inconvenient for the workflow. Another workaround I found is to use XLS, which is also not always a good solution. I could not find whether this issue has been solved.
What is the current status of this issue? (I have 2023a)
Cheers! Hello!
Unable to open file ‘C:UsersjuansOneDriveJuanMatlabBook5.xlsx’ as a workbook. Check that the file exists, read access is available, and the file is a valid spreadsheet file.
A while ago, it was identified that there was an issue with OneDrive blocking Excel files, and you have to close the file on Excel in order for MATLAB to open it, which is very inconvenient for the workflow. Another workaround I found is to use XLS, which is also not always a good solution. I could not find whether this issue has been solved.
What is the current status of this issue? (I have 2023a)
Cheers! onedrive, excel, readtable MATLAB Answers — New Questions