Professional Interests: medical image processing, optimization algorithms

PLEASE NOTE: I do not read email sent through my author page. Please post questions about FEX submissions in their respective Comments section.

Answered

How do I minimize this code

A=input('Enter Matrix A: ') B=input('Enter Matrix B: ') C=input('Enter Matrix C: ') n=length(A); Con=cell(1,n); Obs=Con....

How do I minimize this code

A=input('Enter Matrix A: ') B=input('Enter Matrix B: ') C=input('Enter Matrix C: ') n=length(A); Con=cell(1,n); Obs=Con....

8 hours ago | 0

Answered

x for y is?

[pks,idx] = findpeaks (-M2B{:,3},'MinPeakProminence',4); pks = -pks; peak_time=M2B{idx,1}; peak_displacement=M2B{idx,2};

x for y is?

[pks,idx] = findpeaks (-M2B{:,3},'MinPeakProminence',4); pks = -pks; peak_time=M2B{idx,1}; peak_displacement=M2B{idx,2};

19 hours ago | 0

| accepted

Answered

Array indices must be positive integers or logicsal values

The intention of this part of the code is unclear k=0; step=1; for q=0:step:6283 k=k+1; x(k)=q; y(k)=Ey(q); en...

Array indices must be positive integers or logicsal values

The intention of this part of the code is unclear k=0; step=1; for q=0:step:6283 k=k+1; x(k)=q; y(k)=Ey(q); en...

20 hours ago | 0

Answered

Difference between Matrix and array?

Matrices can only be two-dimensional, whereas arrays can have any number of dimensions. The term "page" for the 3rd dimension do...

Difference between Matrix and array?

Matrices can only be two-dimensional, whereas arrays can have any number of dimensions. The term "page" for the 3rd dimension do...

1 day ago | 0

| accepted

Answered

Problem related to fminbnd

You could plot the function to see how its shape varies with the parameters and to confirm whether fminbnd is giving the correct...

Problem related to fminbnd

You could plot the function to see how its shape varies with the parameters and to confirm whether fminbnd is giving the correct...

1 day ago | 0

| accepted

Answered

Visualizing 3 dimensional array

You could probably use volumeViewer, https://www.mathworks.com/help/images/explore-3-d-volumetric-data-with-volume-viewer-app.h...

Visualizing 3 dimensional array

You could probably use volumeViewer, https://www.mathworks.com/help/images/explore-3-d-volumetric-data-with-volume-viewer-app.h...

2 days ago | 1

Answered

Calculate mean of every 4 elements in a row for an array

I recommend sepblockfun (Download), result = sepblockfun(yourMatrix,[1,4],'mean');

Calculate mean of every 4 elements in a row for an array

I recommend sepblockfun (Download), result = sepblockfun(yourMatrix,[1,4],'mean');

3 days ago | 0

Answered

Using if and of two columns to find the value in another column

Here, I use T as the name of your table, lookup=abs(T.X-78.5)<=0.5 & abs(T.Y-48.5)<=0.5; T.Value(lookup),

Using if and of two columns to find the value in another column

Here, I use T as the name of your table, lookup=abs(T.X-78.5)<=0.5 & abs(T.Y-48.5)<=0.5; T.Value(lookup),

3 days ago | 0

| accepted

Answered

Same number of Rows and Cols of a matrix (N*N)

validateattributes(A,"numeric",{"square"})

Same number of Rows and Cols of a matrix (N*N)

validateattributes(A,"numeric",{"square"})

4 days ago | 0

Answered

Constrained Global Optimization Problem with MultiStart, GA and HybridFunction using Parallel Processing whithout Step

A=input('Enter Matrix A: ') B=input('Enter Matrix B: ') C=input('Enter Matrix C: ') n=length(A); Con=cell(1,n); Obs=Co...

Constrained Global Optimization Problem with MultiStart, GA and HybridFunction using Parallel Processing whithout Step

A=input('Enter Matrix A: ') B=input('Enter Matrix B: ') C=input('Enter Matrix C: ') n=length(A); Con=cell(1,n); Obs=Co...

4 days ago | 0

Answered

How to do a matrix from vectors

One way, A=cell2mat( cellfun(@single,{time1 time2 Hs_buoy Tm_buoy Dm_buoy},'uni',0) )

How to do a matrix from vectors

One way, A=cell2mat( cellfun(@single,{time1 time2 Hs_buoy Tm_buoy Dm_buoy},'uni',0) )

4 days ago | 0

Answered

how can i split a 400*400 matrix into smaller one

You could do it as below, with the help of mat2tiles, https://www.mathworks.com/matlabcentral/fileexchange/35085-mat2tiles-div...

how can i split a 400*400 matrix into smaller one

You could do it as below, with the help of mat2tiles, https://www.mathworks.com/matlabcentral/fileexchange/35085-mat2tiles-div...

4 days ago | 0

Answered

Custom CUDA kernels and gpuArrays

Have a look at the documentation for CUDAKernel objects https://www.mathworks.com/help/parallel-computing/run-cuda-or-ptx-code-...

Custom CUDA kernels and gpuArrays

Have a look at the documentation for CUDAKernel objects https://www.mathworks.com/help/parallel-computing/run-cuda-or-ptx-code-...

6 days ago | 1

| accepted

Answered

Redistribution of elements of various arrays into a single multidimensional one

I think the loop you've shown would work just fine, but a quicker way would be array2=repelem(reshape(array1,1,1,[]), 200,4);...

Redistribution of elements of various arrays into a single multidimensional one

I think the loop you've shown would work just fine, but a quicker way would be array2=repelem(reshape(array1,1,1,[]), 200,4);...

6 days ago | 1

Answered

discrte to softmax : Attempt to grow array along ambiguous dimension

I know its caused becouse target is larger then array but please help how i should change my code to make it work Did you inten...

discrte to softmax : Attempt to grow array along ambiguous dimension

I know its caused becouse target is larger then array but please help how i should change my code to make it work Did you inten...

6 days ago | 0

| accepted

Answered

Max of vector in higher dimensional array subject to constraints

N=ndims(A); %A is the given matrix z=size(A,N); idx=reshape(1:z, [ones(1,N-1),z] ) < constraint; %requires R2016b or h...

Max of vector in higher dimensional array subject to constraints

N=ndims(A); %A is the given matrix z=size(A,N); idx=reshape(1:z, [ones(1,N-1),z] ) < constraint; %requires R2016b or h...

6 days ago | 1

| accepted

Answered

How to generate random integer from 1 to N except some integers in between?

No loops required, N=10; b=3; M=5; %example data list=setdiff(1:N,b); selection=list(randperm(N-1,M)) %result

How to generate random integer from 1 to N except some integers in between?

No loops required, N=10; b=3; M=5; %example data list=setdiff(1:N,b); selection=list(randperm(N-1,M)) %result

6 days ago | 1

| accepted

Answered

Matrix consisting of sub-elements of another matrix

By indexing,e.g., >> x = [ 1 2 3 4 5 6 7 8 9]*10; >> y=x([1,2,4,5,9]) y = 10 20 40 50 90

Matrix consisting of sub-elements of another matrix

By indexing,e.g., >> x = [ 1 2 3 4 5 6 7 8 9]*10; >> y=x([1,2,4,5,9]) y = 10 20 40 50 90

6 days ago | 0

| accepted

Answered

How to create an object using class name

function newObj = createNewObject(obj) newObj = feval( class(obj) ); end

How to create an object using class name

function newObj = createNewObject(obj) newObj = feval( class(obj) ); end

7 days ago | 0

| accepted

Answered

Adding just one line in my code slows the GPU.

Pre-allocate on the GPU. Also, pre-compute things on the GPU that are easily vectorized and don't depend on r. R=gpuArray.zeros...

Adding just one line in my code slows the GPU.

Pre-allocate on the GPU. Also, pre-compute things on the GPU that are easily vectorized and don't depend on r. R=gpuArray.zeros...

7 days ago | 0

Answered

Converting a row to diagonal matrix

Did some guessing as to what you meant, but I think this is what you want: A=tril(true(16),-1); B=double(A); B(A)=rowdata; ...

Converting a row to diagonal matrix

Did some guessing as to what you meant, but I think this is what you want: A=tril(true(16),-1); B=double(A); B(A)=rowdata; ...

7 days ago | 0

| accepted

Answered

Find minimum of a 15x100 and return in a vector of 1x100. is this possible?

The names of the variables you wrote to the table Min_AS,Med_AS,Max_AS are different from the original variable names you show...

Find minimum of a 15x100 and return in a vector of 1x100. is this possible?

The names of the variables you wrote to the table Min_AS,Med_AS,Max_AS are different from the original variable names you show...

7 days ago | 0

Answered

Solve equations in a loop with fsolve

Your equations are quadratic and therefore generally have two solutions, s. Fsolve cannot find them both for you. Why aren't you...

Solve equations in a loop with fsolve

Your equations are quadratic and therefore generally have two solutions, s. Fsolve cannot find them both for you. Why aren't you...

7 days ago | 0

| accepted

Answered

Any idea how to do and represent ttest results on box plot?

Usually, I just overlay them in powerpoint. But if you must automate this, one not too difficult way would be to use the line co...

Any idea how to do and represent ttest results on box plot?

Usually, I just overlay them in powerpoint. But if you must automate this, one not too difficult way would be to use the line co...

8 days ago | 0

Answered

changing a group of numbers in a vector

As an example, >> cycles=[0,1,0,1,0,1]; %3 cycles >> A=repelem(cycles,3) A = Columns 1 through 16 0 0 ...

changing a group of numbers in a vector

As an example, >> cycles=[0,1,0,1,0,1]; %3 cycles >> A=repelem(cycles,3) A = Columns 1 through 16 0 0 ...

9 days ago | 0

Answered

How to replace a vector element with a value not equal the other vector values?

function sudokuRow = fillSudokuRow(sudokuRow) idx=(sudokuRow==0); sudokuRow(idx)=func(sudokuRow(~idx)); end

How to replace a vector element with a value not equal the other vector values?

function sudokuRow = fillSudokuRow(sudokuRow) idx=(sudokuRow==0); sudokuRow(idx)=func(sudokuRow(~idx)); end

9 days ago | 0

Answered

Passing parameter values found in lsqcurvefit to be initial values for parameter estimation in another function

Some possibilities, Combine the code from both fitting steps into a single script. That way you will have direct access to the ...

Passing parameter values found in lsqcurvefit to be initial values for parameter estimation in another function

Some possibilities, Combine the code from both fitting steps into a single script. That way you will have direct access to the ...

9 days ago | 0

| accepted

Question

Is there a danger in renaming a Matlab install folder

I have Matlab R2019b installed under Windows 10 in the usual place, C:\Program Files\MATLAB\R2019b but I would now like to ren...

10 days ago | 2 answers | 1

Answered

Speeding up nested for-loops when vectorization seems to fail

Getting rid of repmat (requires R2016b or later) and working with single float precision will get you some speed-up. In doubles...

Speeding up nested for-loops when vectorization seems to fail

Getting rid of repmat (requires R2016b or later) and working with single float precision will get you some speed-up. In doubles...

11 days ago | 0

| accepted

Answered

Speeding up nested for-loops when vectorization seems to fail

I tend to think you should be using scatteredInterpolant rather than implementing your own interpolation routine with loops.

Speeding up nested for-loops when vectorization seems to fail

I tend to think you should be using scatteredInterpolant rather than implementing your own interpolation routine with loops.

11 days ago | 0