导航:首页 > 创造发明 > 如何创造一个三维矩阵

如何创造一个三维矩阵

发布时间:2021-05-09 19:42:35

① C++ 创建三维数组的几种方法

给你一个三维的例子:
int nx = 10; //行数
int ny = 10; //列数
int nz = 10; //层数
int*** arr_np3D = NULL;

//创建

//分配第一层
arr_np3D = (int***)new int**[nz];

//分配第二层
for (int i=0; i<ny; i++)
{
arr_np3D[i] = (int**)new int*[ny];
}

//分配第三层
for (int i=0; i<ny; i++)
{
for (int j=0; j<nx; j++)
{
arr_np3D[i][j] = new int[nx];
}
}

//访问元素
arr_np3D[2][5][4] = 10;
cout<<arr_np3D[2][5][4];

//释放
//释放第三层
for (int i=0; i<ny; i++)
{
for (int j=0; j<nx; j++)
{
delete[] arr_np3D[i][j];
arr_np3D[i][j] = NULL;
}
}

//释放第二层
for (int i=0; i<ny; i++)
{
delete[] arr_np3D[i];
arr_np3D[i] = NULL;
}

//释放第一层
delete[] arr_np3D;
arr_np3D = NULL;

② MATLAB中如何定义多维矩阵

1.定义两个度矩阵,如m=1,2,3;2和4。三,四,五,4和6;N=1、3、5;2-2;3、5、7;4,6,8。

③ 如何建立matlab三维矩阵请给出一个matlab三维矩阵建立的具体过程。

在Matlab中习惯性的会将二维数组中的第一维称为“行”第二维称为“列”,而对于三维数组的第三位则是习惯性的称为“页”。在Matlab中将三维及三维以上的数组统称为高维数组,三维数组也是高级运算的基础

比如说,我的数据是四列的,分别表示坐标:x,y,z,和对应点的温度值!

x y z T
1 1 1 15
2 2 2 20
3 3 3 22
4 4 4 25
5 5 5 23

用A(a,b,c)=B的方法来赋值,A=[1 2 3] 用A(:,:,2)=[2 3 4]就可以表示另一个面

④ matlab做一个三维矩阵

clear
tt=0;
for
nn=1:1000
%nn的上限可以调整nn=10000时,我算出来是7条线最少
for
tt=1:100
t=0;n=0;
for
i=1:3
for
j=1:3
for
k=1:3
h=randperm(2)-1;
f(i,j,k)=h(1);
t=t+f(i,j,k);
end
end
end
tt=tt+1;
ttt(tt)=t;
if
t==13
break;
end
end
for
i=1:3
for
j=1:3
for
k=1:3
if
sum(f(i,j,:))==3|sum(f(i,j,:))==0|sum(f(:,j,k))==3|sum(f(:,j,k))==0|sum(f(i,:,k))==3|sum(f(i,:,k))==0
n=n+1;
elseif
i==2&j==2&k~=2
for
k=1:3
if
f(1,1,k)==f(2,2,k)&f(1,1,k)==f(3,3,k)
n=n+1;
elseif
f(3,1,k)==f(2,2,k)&f(3,1,k)==f(1,3,k)
n=n+1;
end
end
elseif
j==2&k==2&i~=2
for
i=1:3
if
f(i,1,1)==f(i,2,2)&f(i,1,1)==f(i,3,3)
n=n+1;
elseif
f(i,1,3)==f(i,2,2)&f(i,1,3)==f(i,3,1)
n=n+1;
end
end
elseif
i==2&k==2&j~=2
for
j=1:3
if
f(1,j,1)==f(2,j,2)&f(1,j,1)==f(3,j,3)
n=n+1;
elseif
f(3,j,1)==f(2,j,2)&f(3,j,1)==f(1,j,3)
n=n+1;
end
end
elseif
i~=2&k~=2&j~=2
if
f(i,j,k)+f(4-i,4-j,4-k)==2*f(2,2,2)
n=n+1;
end
end
end
end
end
qq(nn)=n;
g(:,:,:,nn)=f;
if
nn>1
if
qq(nn)>qq(nn-1)
g(:,:,:,nn)=g(:,:,:,nn-1);
qq(nn)=qq(nn-1);
end
end
end
qq(nn)
g(:,:,:,nn)
%这个程序应该就可以解决问题了,至于精度的话,你可以通过调整nn的上限来解决。
最后输出了一个是条数,另外一组是0,1的分布,按三层描述的。

⑤ C++语言怎么用new创建三维数组

给你一个三维的例子:
int nx = 10; //行数
int ny = 10; //列数
int nz = 10; //层数
int*** arr_np3D = NULL;

//创建

//分配第一层
arr_np3D = (int***)new int**[nz];

//分配第二层
for (int i=0; i<ny; i++)
{
arr_np3D[i] = (int**)new int*[ny];
}

//分配第三层
for (int i=0; i<ny; i++)
{
for (int j=0; j<nx; j++)
{
arr_np3D[i][j] = new int[nx];
}
}

//访问元素
arr_np3D[2][5][4] = 10;
cout<<arr_np3D[2][5][4];

//释放
//释放第三层
for (int i=0; i<ny; i++)
{
for (int j=0; j<nx; j++)
{
delete[] arr_np3D[i][j];
arr_np3D[i][j] = NULL;
}
}

//释放第二层
for (int i=0; i<ny; i++)
{
delete[] arr_np3D[i];
arr_np3D[i] = NULL;
}

//释放第一层
delete[] arr_np3D;
arr_np3D = NULL;

⑥ 怎么创建三维数组并把二维数组插入 Matlab

matlab中没有什么三维数组的概念,只有cell这种数据类型,这种类型可以扩展至任意的维度;
三维数组,定义三个维度长度分别为2,3,4;
c = cell(4,1);
for i=1:4
c(i)=A %A为2x3二维数组

end

⑦ matlab如何定义三维数组

(1)在Matlab中习惯性的会将二维数组中的第一维称为“行”第二维称为“列”,而对于三维数组的第三位则是习惯性的称为“页”。在Matlab中将三维及三维以上的数组统称为高维数组,三维数组也是高级运算的基础。
(2)创建方法:
1、使用下标创建三维数组
在Matlab命令框中输入以下代码可以创建简单的三维数组:
for
i=1:2
for
j=1:2
for
k=1:2
A(i,j,k)=i+j+k;
end
end
end
2、使用低维数组创建三维数组
我们可以先输入一个二维数组,然后通过第三维数组与其关系生成第三维数组,例如输入以下代码可以生成三维数组:
D2=[1,2,3;4,5,6;7,8,9];
D3(:,:,1)=D2;
D3(:,:,2)=2*D2;
D3(:,:,3)=3*D2;
3、使用创建函数创建三维数组
使用Cat命令来创建高维数组。Cat命令的个事为【C=cat(dim,A1,A2,A3,A4……)】其中dim表示的是创建数组的维度,A1,A2,A3,A4表示的是各维度上的数组。在命令窗口中输入以下代码即可创建一个简单的三维数组:
D2=[1,2,3;4,5,6;7,8,9];
C=cat(3,D2,2*D2,3*D2);

⑧ C++动态创建一个三维矩阵,并通过指针访问该三维矩阵的元素,错误怎么改

你可以开一维数组存3维数据,一维数组大小=high * row * col。 用一维方式找下标便可。
下面程序用new开3维动态数组的方法, 可能是你想要的:
#include<iostream>
using namespace std;
int main()
{
int high,row,col;
int i,j,k,x,y,z;
int count=1;
int ***p;
cout <<"input L W H: ";
cin>>high>>row>>col;
x=high;y=row;z=col;
p = new int**[x];
for (i=0;i<x;i++)
{
p[i]= new int*[y];
for (j=0;j<y;j++) p[i][j]=new int[z];
}
for(i=0;i<high;i++){
for(j=0;j<row;j++){
for(k=0;k<col;k++){
p[i][j][k]=count;
count++;
}}};
for(i=0;i<high;i++) {
for(j=0;j<row;j++) {
for(k=0;k<col;k++) { cout<<p[i][j][k]<<" "; }
cout<<endl;
} ;
cout << endl;
};
}

运行:
input L W H: 2 3 4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
21 22 23 24

阅读全文

与如何创造一个三维矩阵相关的资料

热点内容
武汉疫情投诉 浏览:149
知识产权合作开发协议doc 浏览:932
广州加里知识产权代理有限公司 浏览:65
企业知识产权部门管理办法 浏览:455
消费315投诉 浏览:981
马鞍山钢城医院 浏览:793
冯超知识产权 浏览:384
介绍小发明英语作文 浏览:442
版权使用权协议 浏览:1000
2018年基本公共卫生服务考核表 浏览:884
马鞍山候车亭 浏览:329
学校矛盾纠纷排查领导小组 浏览:709
张江管委会知识产权合作协议 浏览:635
关于开展公共卫生服务项目相关项目督导的函 浏览:941
闺蜜证书高清 浏览:11
转让房转让合同协议 浏览:329
矛盾纠纷排查调处工作协调交账会议纪要 浏览:877
云南基金从业资格证书查询 浏览:313
新知识的摇篮创造力 浏览:187
股转转让协议 浏览:676