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

Contaminate an EMG with 50 Hz signal

I have no idea what ‘isn’t working’ means. This version of your code works: Fs = 256; ...

Contaminate an EMG with 50 Hz signal

I have no idea what ‘isn’t working’ means. This version of your code works: Fs = 256; ...

5 hours ago | 0

| accepted

Answered

How to color individual points on errorbar plot?

You need to plot with respect to an independent variable. Try this: means=[1 1 2 3 4]; standarddeviation=[0.1 0.2 0.2 0.3 ...

How to color individual points on errorbar plot?

You need to plot with respect to an independent variable. Try this: means=[1 1 2 3 4]; standarddeviation=[0.1 0.2 0.2 0.3 ...

8 hours ago | 0

Answered

displacing iterations of a signal

I am not certain what you want to do. If you want the different waveforms to appear consecutively, plot them against an indepen...

displacing iterations of a signal

I am not certain what you want to do. If you want the different waveforms to appear consecutively, plot them against an indepen...

19 hours ago | 0

Answered

How can I plot shaded confidence intervals on my plot?

Add these two patch calls after the last plot call and before the hold off call: patch([x fliplr(x)], [y-CI fliplr(y+CI)], [0,...

How can I plot shaded confidence intervals on my plot?

Add these two patch calls after the last plot call and before the hold off call: patch([x fliplr(x)], [y-CI fliplr(y+CI)], [0,...

1 day ago | 1

| accepted

Answered

how to obtain the frequency when doing the fourier trasform

Assuming that the data are regularly sampled, so that the sampling intervals are the same for all of them, I usually do somethin...

how to obtain the frequency when doing the fourier trasform

Assuming that the data are regularly sampled, so that the sampling intervals are the same for all of them, I usually do somethin...

1 day ago | 0

| accepted

Answered

Month as a two digit number

To have leading zeros, it has to be a character array or string variable. Try this: Date = datetime('now'); mth = sprintf(...

Month as a two digit number

To have leading zeros, it has to be a character array or string variable. Try this: Date = datetime('now'); mth = sprintf(...

1 day ago | 2

Answered

Designing a fir filter and how to apply it to a signal

You need to normalise the stopband frequencies by the Nyquist frequency. Try this: Wn=[fp1 fp2]/(fs/2); That worked when I...

Designing a fir filter and how to apply it to a signal

You need to normalise the stopband frequencies by the Nyquist frequency. Try this: Wn=[fp1 fp2]/(fs/2); That worked when I...

1 day ago | 0

| accepted

Answered

Energy calculation via current signal integration with limits

Add this after your posted code: idxrng = iVs:iVe; IntP = cumtrapz(T(idxrng), P(idxrng)); figure subplot(3,1,1) yyaxis l...

Energy calculation via current signal integration with limits

Add this after your posted code: idxrng = iVs:iVe; IntP = cumtrapz(T(idxrng), P(idxrng)); figure subplot(3,1,1) yyaxis l...

1 day ago | 0

| accepted

Answered

Contour plot of data on a non-rectangular xy domain

I am not certain what you want. Try this: X = [0.940727422583647 1.07008276356436 1.22692065834036 1.36057673106938 1.47757...

Contour plot of data on a non-rectangular xy domain

I am not certain what you want. Try this: X = [0.940727422583647 1.07008276356436 1.22692065834036 1.36057673106938 1.47757...

1 day ago | 0

| accepted

Answered

Position and extraction of row

It would definitely help to see what ‘mergetable1’ is, and how you are getting ‘AccelSN’. If ‘AccelSN’ is read as a string (f...

Position and extraction of row

It would definitely help to see what ‘mergetable1’ is, and how you are getting ‘AccelSN’. If ‘AccelSN’ is read as a string (f...

2 days ago | 0

| accepted

Answered

signal fourier transform include unit step function

Try this version of your code: syms t x(t) % t = linspace(-20, 20, 5000); % u = @(t) (t >= 0); x(t) = exp(-t) * heaviside...

signal fourier transform include unit step function

Try this version of your code: syms t x(t) % t = linspace(-20, 20, 5000); % u = @(t) (t >= 0); x(t) = exp(-t) * heaviside...

2 days ago | 0

| accepted

Answered

Matlab dsolve function issue with format.

My (R2020a) version requires slightly different symbolic convetions. Try this: syms x(t) Dx = diff(x); D2x = diff(Dx); e...

Matlab dsolve function issue with format.

My (R2020a) version requires slightly different symbolic convetions. Try this: syms x(t) Dx = diff(x); D2x = diff(Dx); e...

2 days ago | 0

| accepted

Answered

Extraplotation of impedance data

First, I doubt that extrapolating from 250 kHz to 10 MHz is appropriate in any event. However it could be, if you identified ...

Extraplotation of impedance data

First, I doubt that extrapolating from 250 kHz to 10 MHz is appropriate in any event. However it could be, if you identified ...

2 days ago | 0

Answered

Why I can't use the function of decimate

I get the same result as in the documentation (in R2020a). First, what version of MATLAB are you using? The current online d...

Why I can't use the function of decimate

I get the same result as in the documentation (in R2020a). First, what version of MATLAB are you using? The current online d...

2 days ago | 0

| accepted

Answered

determine the R waves to evaluate the ECG signal and determine the heart rate.

Use findpeaks or islocalmax to locate the R-wave peaks.

determine the R waves to evaluate the ECG signal and determine the heart rate.

Use findpeaks or islocalmax to locate the R-wave peaks.

2 days ago | 0

Answered

Rolve function around axis to create 3D surface.

See: Plotting an exponential exp(-x), in 3D? for an example.

Rolve function around axis to create 3D surface.

See: Plotting an exponential exp(-x), in 3D? for an example.

3 days ago | 1

| accepted

Answered

Error using ss. How do i fix this?

Transpose ‘BS’ to a column vector (everywhere you use it, since you re-define it): BS=[0 0 0 0 0 0 k4/m4 0].'; Do the same f...

Error using ss. How do i fix this?

Transpose ‘BS’ to a column vector (everywhere you use it, since you re-define it): BS=[0 0 0 0 0 0 k4/m4 0].'; Do the same f...

3 days ago | 1

| accepted

Answered

Initial Conditions for first derivative defined as a transfer function

Apparently, step does not allow initial conditions to be stated, however initial does, and produces an impulse response plot giv...

Initial Conditions for first derivative defined as a transfer function

Apparently, step does not allow initial conditions to be stated, however initial does, and produces an impulse response plot giv...

3 days ago | 0

Answered

turning functions into floating-point numbers

Your question lacks detail. If you have an expression in one or more variables, you can express it as a function (most likely a...

turning functions into floating-point numbers

Your question lacks detail. If you have an expression in one or more variables, you can express it as a function (most likely a...

3 days ago | 0

Answered

need help on nomenclature, Simplify symbolic variables

If simplify is not simplifying to the extent that you want it to, use the Steps name-value pair to tell it to keep simplifying u...

need help on nomenclature, Simplify symbolic variables

If simplify is not simplifying to the extent that you want it to, use the Steps name-value pair to tell it to keep simplifying u...

4 days ago | 0

| accepted

Answered

create yyyymm variable from date

Try this: dt = '1/1/2020'; Out = datetime(dt, 'InputFormat','MM/dd/yyyy', 'Format','yyyyMM') producing: Out = dateti...

create yyyymm variable from date

Try this: dt = '1/1/2020'; Out = datetime(dt, 'InputFormat','MM/dd/yyyy', 'Format','yyyyMM') producing: Out = dateti...

4 days ago | 0

| accepted

Answered

Resampling Data using Interp1

You are doing signal processing. For that, use the resample function. It will do the interpolation, and will also use an anti-...

Resampling Data using Interp1

You are doing signal processing. For that, use the resample function. It will do the interpolation, and will also use an anti-...

4 days ago | 0

Answered

Can ode45 be used to solve mx'' + cx' + kx^1.1=0 x(0)=5;x'(0)=0? Getting complex numbers in answers.

You need to plot the real and complex parts separately. Assuming: [t,y] = ode45(yourOdefcn, tspan, ic); plot it as: fig...

Can ode45 be used to solve mx'' + cx' + kx^1.1=0 x(0)=5;x'(0)=0? Getting complex numbers in answers.

You need to plot the real and complex parts separately. Assuming: [t,y] = ode45(yourOdefcn, tspan, ic); plot it as: fig...

4 days ago | 0

| accepted

Answered

How to show numeric solution instead of symbolic solution

The ‘q_dot’ variable cannot be expressed as a strictly numeric array because it contains symbolic variables. The best you can...

How to show numeric solution instead of symbolic solution

The ‘q_dot’ variable cannot be expressed as a strictly numeric array because it contains symbolic variables. The best you can...

4 days ago | 0

| accepted

Answered

Jacobian matrix of a numeric matri

See if the gradient function will do what you want. That is likely as close as you can get for a numeric matrix. If it is a ...

Jacobian matrix of a numeric matri

See if the gradient function will do what you want. That is likely as close as you can get for a numeric matrix. If it is a ...

4 days ago | 0

Answered

Second Order ODE with Power

The best way to integrate it numerically is something like this: syms x(t) A B C D vb b Y t v=diff(x,t,2)==(A/x)*(B+C*(diff(...

Second Order ODE with Power

The best way to integrate it numerically is something like this: syms x(t) A B C D vb b Y t v=diff(x,t,2)==(A/x)*(B+C*(diff(...

4 days ago | 0

| accepted

Answered

Running data through a filter multiple times

It is not easy to follow what you are doing here, especially with respect to your using the strings as part of the subscript (th...

Running data through a filter multiple times

It is not easy to follow what you are doing here, especially with respect to your using the strings as part of the subscript (th...

4 days ago | 1

| accepted

Answered

How to correctly apply bandpass filter to EEG data?

The bandpass function (and its friends) in my experience have all used filtfilt to do the actual filtering, so there should not ...

How to correctly apply bandpass filter to EEG data?

The bandpass function (and its friends) in my experience have all used filtfilt to do the actual filtering, so there should not ...

4 days ago | 0

Answered

findpeaks returns wrong width

If you have the Signal Processing Toolbox, use the pulsewidth function for this: D = readmatrix('test.csv'); A1 = D(:,2); t1...

findpeaks returns wrong width

If you have the Signal Processing Toolbox, use the pulsewidth function for this: D = readmatrix('test.csv'); A1 = D(:,2); t1...

5 days ago | 0

| accepted

Answered

genetic algorithm for curve fitting

I would do something like this (with ‘M’ and the constants already existing in your workspace): MFit = @(c0,M0,h,z,z0) (M0 + c...

genetic algorithm for curve fitting

I would do something like this (with ‘M’ and the constants already existing in your workspace): MFit = @(c0,M0,h,z,z0) (M0 + c...

5 days ago | 1

| accepted