📄 frac_tree1.c
字号:
#include "matrix.h"
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
double *xp, *yp, *vp, *x0p, *y0p, *v0p, x0, y0;
double vv;
long i, N;
x0p=mxGetPr(prhs[0]); y0p=mxGetPr(prhs[1]);
v0p=mxGetPr(prhs[2]); N=mxGetScalar(prhs[3]);
plhs[0]=mxCreateDoubleMatrix(N,1, mxREAL);
plhs[1]=mxCreateDoubleMatrix(N,1, mxREAL);
xp=mxGetPr(plhs[0]); yp=mxGetPr(plhs[1]);
xp[0]=x0p[0]; yp[0]=y0p[0];
for (i=1; i<N; i++){
vv=v0p[i];
if (vv<0.05) {yp[i]=0.5*yp[i-1]; xp[i]=0;}
else if (vv<0.45) {
xp[i]=0.42*xp[i-1]-0.42*yp[i-1]; yp[i]=0.2+0.42*xp[i-1]+0.42*yp[i-1];}
else if (vv<0.85) {
xp[i]=0.42*xp[i-1]+0.42*yp[i-1]; yp[i]=0.2-0.42*xp[i-1]+0.42*yp[i-1];}
else {xp[i]=0.1*xp[i-1]; yp[i]=0.1*yp[i-1]+0.2;}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -