Hic sunt dracones!

PROFESSIONAL: Physician (M.D.): Diplomate of the American Board of Internal Medicine; M.Sc. Biomedical Engineering: Instrumentation, Signal Processing, Control, System Identification, Parameter Estimation

NON-PROFESSIONAL: Amateur Extra Class Amateur Radio Operator; Private Pilot, Airplane Single Engine Land, Instrument Rating Airplane; Gamer

NOTE: I do not respond to emails or personal messages, unless they are about my File Exchange contributions.

Answered

Should I use 1-D digital filtering or lowpass filter ?

Yes. Also be certain that the signals have uniform sampling intervals. If they do not, use the resample function to force them...

Should I use 1-D digital filtering or lowpass filter ?

Yes. Also be certain that the signals have uniform sampling intervals. If they do not, use the resample function to force them...

2 hours ago | 1

| accepted

Answered

how to solve two equations in one variable

Part of that is a differential equation. Using the Symbolic Math Toolbox to integrate it and then using matlabFunction to conve...

how to solve two equations in one variable

Part of that is a differential equation. Using the Symbolic Math Toolbox to integrate it and then using matlabFunction to conve...

2 hours ago | 0

Answered

Can someone explain how this line in the code works?

The fzero call indicates that the code is to find the value of the ‘quintic’ function argument such that the function value equa...

Can someone explain how this line in the code works?

The fzero call indicates that the code is to find the value of the ‘quintic’ function argument such that the function value equa...

3 hours ago | 0

| accepted

Answered

Apply a bandpass filter in freq domain

‘So I think I need to apply a bandpass filter in freq domain.’ Don’t. That is extremely difficult, since the Fourier transform...

Apply a bandpass filter in freq domain

‘So I think I need to apply a bandpass filter in freq domain.’ Don’t. That is extremely difficult, since the Fourier transform...

10 hours ago | 0

Answered

Problems fitting couple differential equations to experimental data

Running your code with random data ran without error (R2020a): t = (0:20)'; f = rand(size(t)); function [x] = knfit(t,f) ...

Problems fitting couple differential equations to experimental data

Running your code with random data ran without error (R2020a): t = (0:20)'; f = rand(size(t)); function [x] = knfit(t,f) ...

19 hours ago | 0

Answered

How to get functions out of inputdlg

I would do something like this, using str2func and vectorize: questions = {'Enter a function of ‘x’','Enter a lower limit','En...

How to get functions out of inputdlg

I would do something like this, using str2func and vectorize: questions = {'Enter a function of ‘x’','Enter a lower limit','En...

21 hours ago | 1

| accepted

Answered

error using ODE45 to solve a 2nd order ODE

Note that psi is the polygamma function. The code ‘overshadows’ that function with the variable name. The actual problem i...

error using ODE45 to solve a 2nd order ODE

Note that psi is the polygamma function. The code ‘overshadows’ that function with the variable name. The actual problem i...

23 hours ago | 0

Answered

1D cable model

You are calculating ‘N’ and ‘TI’. They may appear to be integers, however they are not. The solution to that is to force them ...

1D cable model

You are calculating ‘N’ and ‘TI’. They may appear to be integers, however they are not. The solution to that is to force them ...

1 day ago | 0

Answered

Finding membrane time constant from a graph

Try adding this line to your code (after the loop): tau_Vm_num = interp1(Vm_num, time, 0.632*max(Vm_num)); so the entire code...

Finding membrane time constant from a graph

Try adding this line to your code (after the loop): tau_Vm_num = interp1(Vm_num, time, 0.632*max(Vm_num)); so the entire code...

2 days ago | 0

| accepted

Answered

response spectrum - time domain to frequency domain

Here is some example code that you can adapt to your data: t = linspace(0, 5, 1E+4); ...

response spectrum - time domain to frequency domain

Here is some example code that you can adapt to your data: t = linspace(0, 5, 1E+4); ...

2 days ago | 0

Answered

Function handle with integrals of multiple equations?

I get different result with a strictly numeric version: V1 = 230; P1 = 2.7; T1 = 300; V2 = 30; A = -0.703029; B = 108...

Function handle with integrals of multiple equations?

I get different result with a strictly numeric version: V1 = 230; P1 = 2.7; T1 = 300; V2 = 30; A = -0.703029; B = 108...

2 days ago | 0

Answered

Finding the index of x values to create an equally spaced array.

Your approach appears to be correct, as far as it goes. Use the interp1 function to create your result vector: x = 0:195; y ...

Finding the index of x values to create an equally spaced array.

Your approach appears to be correct, as far as it goes. Use the interp1 function to create your result vector: x = 0:195; y ...

2 days ago | 0

| accepted

Answered

Chebyshev type II filter

See the documentation for: cheb2ord, cheby2, zp2sos and filtfilt.

Chebyshev type II filter

See the documentation for: cheb2ord, cheby2, zp2sos and filtfilt.

2 days ago | 0

| accepted

Answered

Suppressing only part of a function output?

To have only ‘a’ and ‘b’ returned: [a,b] = myFun(d,e) and to have only ‘c’ returned: [~,~,c] = myFun(d,e) Use variations o...

Suppressing only part of a function output?

To have only ‘a’ and ‘b’ returned: [a,b] = myFun(d,e) and to have only ‘c’ returned: [~,~,c] = myFun(d,e) Use variations o...

3 days ago | 0

Answered

Is there a PDF for all Matlab Functions?

There are PDF documentation for MATLAB and separately for the Toolboxes and such. For the MATLAB collection click on: PDF Docum...

Is there a PDF for all Matlab Functions?

There are PDF documentation for MATLAB and separately for the Toolboxes and such. For the MATLAB collection click on: PDF Docum...

3 days ago | 0

Answered

How to solve system of differential equations with time dependent parameters?

As darova suggested, integrate it numerically. For some reason, ode45 does not like the anonymous functions and throws an ’Unde...

How to solve system of differential equations with time dependent parameters?

As darova suggested, integrate it numerically. For some reason, ode45 does not like the anonymous functions and throws an ’Unde...

3 days ago | 2

| accepted

Answered

Zero crossing for a curve fitting function(smoothing spline)

I don’t have the Curve Fitting Toolbox. (I only need it to reply to Answers Questions, and that’s not enough justification for ...

Zero crossing for a curve fitting function(smoothing spline)

I don’t have the Curve Fitting Toolbox. (I only need it to reply to Answers Questions, and that’s not enough justification for ...

3 days ago | 0

| accepted

Answered

Area under FFT curve

Calculate the areas of only the ‘positive frequencies’ half of the fft output, not the entire output. If the data are all posit...

Area under FFT curve

Calculate the areas of only the ‘positive frequencies’ half of the fft output, not the entire output. If the data are all posit...

3 days ago | 0

Answered

Need to solve the roots from a large equation

Use the correct values for ‘la’ and ‘n’, then this: syms k la = 42; n = pi; Eqn = 2*k - 2*k*n + (8*k^7*n^4 - 24*k^5*n^3 + ...

Need to solve the roots from a large equation

Use the correct values for ‘la’ and ‘n’, then this: syms k la = 42; n = pi; Eqn = 2*k - 2*k*n + (8*k^7*n^4 - 24*k^5*n^3 + ...

4 days ago | 0

Answered

Find Middle of square wave

Use the islocalmax function (R2017b and later): This code plots green upward-pointing triangles at the centre of each pulse: ...

Find Middle of square wave

Use the islocalmax function (R2017b and later): This code plots green upward-pointing triangles at the centre of each pulse: ...

4 days ago | 0

| accepted

Answered

Change color of a specific line in mesh

No exact solutions without your code and data. One approach: xv = -15:0.8:15; yv = -10:0.8:10; [X,Y] = ndgrid(xv, yv); z...

Change color of a specific line in mesh

No exact solutions without your code and data. One approach: xv = -15:0.8:15; yv = -10:0.8:10; [X,Y] = ndgrid(xv, yv); z...

4 days ago | 1

| accepted

Answered

Calculating efficiency using matlab

No loops needed: Tout = [323.2 326.0 328.8 331.6 334.3 337.1]; I = [500 550 600 650 700 750]; [Toutm,Im] = ndgrid(Tout,I...

Calculating efficiency using matlab

No loops needed: Tout = [323.2 326.0 328.8 331.6 334.3 337.1]; I = [500 550 600 650 700 750]; [Toutm,Im] = ndgrid(Tout,I...

4 days ago | 0

| accepted

Answered

Vary a parameter and plot the output

Try this: function main x0 = [500 500 500 500 5 5]; opt = optimset('Display','off'); % 'display', 'iter' I = [500 550 600 ...

Vary a parameter and plot the output

Try this: function main x0 = [500 500 500 500 5 5]; opt = optimset('Display','off'); % 'display', 'iter' I = [500 550 600 ...

5 days ago | 0

| accepted

Answered

How do I avoid using a lot of if statements in a row?

Another option is switch,case,otherwise. You will need to determine if that is an improvement over the multiple if blocks.

How do I avoid using a lot of if statements in a row?

Another option is switch,case,otherwise. You will need to determine if that is an improvement over the multiple if blocks.

5 days ago | 0

Answered

Stability Analysis (Dertermining the Limit Cycle)

The phase portrait is usually plotted as the function against its derivative. Use the gradient function to calculate the deriva...

Stability Analysis (Dertermining the Limit Cycle)

The phase portrait is usually plotted as the function against its derivative. Use the gradient function to calculate the deriva...

5 days ago | 0

| accepted

Answered

Peak to Peak Value of Sinusoidal Grad

Use the islocalmax function to find the maxima, islocalmin to find the minima, and go from there. (These functions were introdu...

Peak to Peak Value of Sinusoidal Grad

Use the islocalmax function to find the maxima, islocalmin to find the minima, and go from there. (These functions were introdu...

6 days ago | 0

Answered

Solve numerically a system of first-order differential equations

Create the function symbolically: syms a b c d e f g t x(t) y(t) z(t) T Y Dx = diff(x); Dy = diff(y); Dz = diff(z); Eqn1 ...

Solve numerically a system of first-order differential equations

Create the function symbolically: syms a b c d e f g t x(t) y(t) z(t) T Y Dx = diff(x); Dy = diff(y); Dz = diff(z); Eqn1 ...

6 days ago | 1

| accepted

Answered

Finding Angular Frequency of an Oscillation

Likely the easiest way would be to find the times of the positive peaks, then calculate from there: [pks,pktimes] = findpeaks(...

Finding Angular Frequency of an Oscillation

Likely the easiest way would be to find the times of the positive peaks, then calculate from there: [pks,pktimes] = findpeaks(...

6 days ago | 1

| accepted

Answered

filter a timetable by day

I am not certain what you intend by ‘groups’. One option is to use the retime function: TTRT = retime(TT, 'daily','mean') ...

filter a timetable by day

I am not certain what you intend by ‘groups’. One option is to use the retime function: TTRT = retime(TT, 'daily','mean') ...

6 days ago | 0

| accepted

Answered

how do i keep the format of xticklabels?

Use compose or sprintfc to create the cell array of labels: figure plot(0:6, rand(1,7)) xtl = sprintfc('%d',10.^(0:6)); xtl...

how do i keep the format of xticklabels?

Use compose or sprintfc to create the cell array of labels: figure plot(0:6, rand(1,7)) xtl = sprintfc('%d',10.^(0:6)); xtl...

7 days ago | 0

| accepted