[Convert Matlab code into C++]

  • #1
4
0

Main Question or Discussion Point

anyone help me to convert this sample code of Gaussian Cone shape of random number code in Matlab into C++

Matlab:
function GaussianCone
    clear all; clc;

    mx=10000; my=mx; mz=mx;

    z=[1:1:mz]';

    sigma=0.01; R=0.5; mu=0;
    sigmax=sigma+R*z;
    sigmay=sigma+R*z;

    x=zeros(mx,1); y=zeros(my,1);

    for i=1:mx
        x(i)=normrnd(mu, sigmax(i)); 
    end

    for j=1:my
        y(j)=normrnd(mu, sigmay(j));
    end

    size(x)
    size(y)
    size(z)

    plot3(x,z,y,'.r')
end
 
Last edited by a moderator:

Answers and Replies

  • #3
D H
Staff Emeritus
Science Advisor
Insights Author
15,393
683
You have graphics in your code, so you're going to need some kind of c++ graphics library to make the conversion complete. The c++ standard itself does not address graphics. I'd suggest learning to use Qt, which is dual licensed (commercial and open source, with some restrictions on open source usage).

You also have normally distributed random numbers in your code. C++11 (and later releases) has very nice random number generation capabilities. You'll want to take advantage of those. For example, see http://en.cppreference.com/w/cpp/numeric/random/normal_distribution.
 
  • #4
275
95
Your code could be simplified in MATLAB first. There is no reason to ever issue a clear all command as the first line of a function in MATLAB, because there is nothing to clear in the function's workspace except any input arguments (when passed).

Code:
function GaussianCone

mx = 10000;
my = mx;
mz = mx;
z = (1:mz)';
sigma = 0.01;
R = 0.5;
mu = 0;
sigmax = sigma+R*z;
sigmay = sigma+R*z;
x = normrnd(mu,sigmax);
y = normrnd(mu,sigmay);
plot3(x,z,y,'.r')
 

Related Threads on [Convert Matlab code into C++]

  • Last Post
Replies
1
Views
3K
Replies
1
Views
7K
  • Last Post
Replies
2
Views
4K
  • Last Post
Replies
1
Views
3K
  • Last Post
Replies
9
Views
1K
  • Last Post
Replies
5
Views
24K
Replies
2
Views
2K
  • Last Post
Replies
6
Views
21K
Replies
1
Views
2K
Replies
4
Views
3K
Top