如何创建一个矩阵结构体?
以浮点型为例:
struct
f_Mat
delim1,
delim2;
//行数、列数
float
//矩阵元素指针
f_Mat
MyMat;
MyMat。delim1=hang;
//行数赋值
MyMat。delim2=lie;
//列数赋值
MyMat。p=new
float(hang*lie);
//申请空间
//创建完毕
用汇编语言编写一个矩阵
矩阵图形如下:
SEGMENT
ASSUME
CS:CODE,DS:CODE
START:
;文本模式才有效
ax,0b800h
es,ax
;指向显存段址
;共7行mov
dx,2030h
di,(5*80+32)*2
;起始位置5行32列again:
ax,dx
;共7字nx1:
es:[di],ah
;输出空格
;指向下一位置
stosb
;输出一个字符
al,'7'
;逢7归0
al,'0'
di,(80-14)*2
;转下一行
again
quit:
ah,4ch
;返回DOS
START
用matlab循环命令编写程序创建矩阵a
使得该矩阵的每个元素的值为
aij=1/(i+j-1)
(i=1,。。。,5;j=1,。。。,6)。
其实这种矩阵根本不需要循环,两句话就搞定了。当然用循环比较容易理解。
[x,y]=meshgrid(1:5,1:6);
a=1。/(x'+y'-1)
i=1:5
j=1:6
a(i,j)=1/(i+j-1);
第一种方法:
[x,y]=meshgrid(1:5,1:6);
a=1。/(x+y-1);
第二种方法:
i=1:5
j=1:6
a(i,j)=1/(i+j-1);
再看看别人怎么说的。
第一种方法:
[x,y]=meshgrid(1:5,1:6);
a=1。/(x+y-1);
第二种方法:
i=1:5
j=1:6
a(i,j)=1/(i+j-1);
matlab中有几种建立矩阵的方法,各有什么优点?
因为f(x)在[0,3]上连续,
所以f(x)在[0,2]上连续,且在[0,2]上必有最大值M和最小值m,
于是:m≤f(0)≤M,m≤f(1)≤M,m≤f(2)≤M,
f(0)+f(1)+f(2)
由介值定理知,至少存在一点c∈[0,2],使得:
f(c)=
f(0)+f(1)+f(2)
又由:f(c)=1=f(3),且f(x)在[c,3]上连续,在(c,3)内可导,满足罗尔定理的条件,
故:必存在ξ∈(c,3)?(0,3),使f′(ξ)=0。
应该有很多种吧
1、预定义
2、通过计算产生,赋值
直接输入法。将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。
利用M文件建立矩阵。这是对于比较大的矩阵而言。
(1)启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵。
(2)把输入的内容存盘(设文件名为mymatrix。m)
(3)在MATLAB命令窗口中输入mymatrix,即运行该M
文件,自动建立一个名为MY-MAT的矩阵,课供以后使用。
建立大矩阵。
大矩阵可由方括号中的小矩阵建立起来。
这个确实没有太多的难度,每次取两个矩阵的一行就行了。
具体程序如下:
clear
close
[m,n]=size(a);
[a(i,:);b(i,:)]
end结果为:
怎样用excel计算矩阵?
求教:用excel计算矩阵,要先把单元格里的数据设置成数据域,可用shift+ctrl+enter键,但我不成功,怎么办?
需要预先确定计算结果的行列数,先选中一片单元格再输公式,然后shift+ctrl+enter
一楼回答错误,excel不仅有该功能,而且很方便。
先输入原始矩阵例如a1:b2
然后选择一个2x2的区域(例如
a4:b5),直接输入
=minverse(a1:b2)
接着按ctrl+shift别松手,再按回车键。
ok,逆矩阵已经出来了
如何建立简单的矩阵
我想建立一个矩阵:X轴是费用,Y轴是成效,基本思想是费用越低,成效越大,则得分越高。请问有没有高手指导一下。
问题补充:
比如说这样:
0分????4321????100分12345我知道最大最小的分数放在哪个位置,但是不知道问号的地方怎么取值
我可以追加分数的,能不能告诉我一下啊,好急啊,谢谢哦
最后麻烦一下,如果费用取值从低到高是0。5,0。6,0。7,0。8,0。9,1,1。1,1。2,1。3,1。4,1。5
成效取值从低到高是10,20,30,40,50,60,70,80,90,100
能否按照你的方法演算一个求分数的公式给我,谢谢啊,会追加分的
一条向右下的线(不一定直),
最好把X改为成效,Y改为费用,这样才能表达你的意思(还是右下的线)
强烈BS某个抄袭的
不知道你的坐标分数的意思。
一般值取Y-X,因为这个值越来越大,证明了你的计划可靠性
如果你的意思是某X取对应Y,这个要问你自己了,多少成效对应多少费用,每个点都描出来(等差就可以了,不用太细),连起来就好了~
不好意思,姗姗来迟~
首先确定:
然后由于要证明“费用越低,成效越大”,我们运用基础比例应该是对应费用值越低,成效越高,得分越高;
则与费用成反比例,成效成正比例。规定1/1*5x=100
算得x=20
即公式:分数=20*成效/费用
那样的话,值为
13。33
26。67
33。33
对于你那个问题,我已经说过,由于分数与费用成反比例(含因数
1/费用),与成效成正比例(含因数
成效),而最大分数固定为100,所以求出固定比例x的方法为:
最大成效/最小费用*X=100
比如你现在新的数据就是
100/0。5*X=100
所以X=0。5
其他对应数值为
成效/费用*X=100(此处X已计算出为0。5)
成效/费用*0。5即可
比如:费用1。1,成效50,对应分数应该为
50/1。1*0。5=22。73(约)
明白了吗?
最后再举个例子:
费用:3,5,7,9,11,13
成效:30,60,90,120,150
此时得出:
最大成效/最小费用*X=100
JAVa编写程序,建立并输出一个10*10的矩阵怎么做
编写程序,建立并输出一个10*10的矩阵,该矩阵两条对角线元素为1,其余元素为0。如图:
没看到你的图,试试下面这个是不是你想要的:
#include
main()
a[10][10];
for(i=0;i<10;i++)
for(j=0;j<10;j++)
a[i][j]=0;
if(i==(9-j)&&j==(9-i))a[i][j]=1;
if(i==j)a[i][j]=1;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
printf("%i
",a[i][j]);
printf("\n");
getch(
怎样用MATLAB构造只有01的二元域上的矩阵 不用看做是向量数组的方法
矩阵是3D数学的重要基础,它主要用来描述两个坐标系间的关系,通过定义一种运算而将一个坐标系中的向量转换到另一个坐标系中。在线性代数中,矩阵就是以行和列形式组织的矩形数字块,向量是标量的数组,矩阵是向量的数组。
矩阵的维度和记法
矩阵的维度被定义为它包含了多少行多少列,一个
矩阵有r行c列。用黑体大写字母表示矩阵,如:M、A、R。需要引用矩阵的分量时,采用下标法,常使用对应的斜体小写字母,如下面的3
3矩阵所示:
行数和列数相同的矩阵称作方阵,方阵的对角线元素就是方阵中行号和列号相同的元素。其他元素均为非对角元素,简单的说,方阵的对角元素就是方阵对角线上的元素。
如果所有非对角元素都为0,那么称这种矩阵为对角矩阵。单位矩阵是一种特殊的对角矩阵,n维单位矩阵记作In,是nxn矩阵,对角线元素为1,其他元素为0。
单位矩阵非常特殊,因为它是矩阵的乘法单位元。其基本性质是用任意一个矩阵乘以单位矩阵,都将得到原矩阵。所以在某种意义上,单位矩阵对矩阵的作用就犹如1对于标量的作用。
向量作为矩阵使用
矩阵的行数和列数可以是任意正整数,当然也包括1。一个n维向量能被当作
矩阵称作行向量,n
矩阵称作列向量。行向量平着写,列向量竖着写。
矩阵M,M的转置记作MT,是一个
矩阵,它的列由M的行组成,可以从另一方面理解,即沿着矩阵的对角线翻折。
对于向量来说,转置将使行向量变成列向量,使列向量成为行向量,见公式7。3:
标量和矩阵的乘法
矩阵M能和标量k相乘,结果是一个和M维数相同的矩阵。矩阵和标量相乘的记法如公式7。4所示,标量经常写在左边,不需要写乘号。这种乘法法则很直观,即用k乘以M中的每个元素。
某些情况下,两个矩阵能够相乘,决定矩阵能否相乘以及怎样计算结果的法则初看起来有些奇怪。一个r
n矩阵A能够乘以一个n
c矩阵B,结果是一个r
c矩阵,记作AB。
例如,设A为4
2矩阵,B为2
5矩阵,那么结果AB为4
如果矩阵A的列数和B的行数不匹配,则乘法AB无意义。
矩阵乘法计算如下:记r
n矩阵A与n
c矩阵B的积r
c矩阵AB为C。C的任意元素Cij等于A的第i行向量与B的第j列向量的点乘结果。
vb 建立矩阵
用循环输入
怎么创建这个矩阵
(i,j)=
+3(i-1)
Private
Form_click()
integer
integer
private
command1_click()
"转换前的矩阵是:"
cstr(i)
cstr(j)
private
command2_click()
"转换后的矩阵是:"
VB数组设计矩阵的问题,求助!
在文本框中输入个4*4矩阵,计算2条对角线元素之和
我已经设计出来了,就是不对,给看下哪错了
我用了一个文本框控键组,16个Option
Explicit
Option
Private
Integer
Private
c1_Click()
Integer
CStr(Val(t1(i)。Text))
t1(i)。Text
l1。Caption
"数据不能为空"
l1。Caption
这个算出来的结果是0
Option
Explicit
Option
Private
Integer
Private
c1_Click()
Integer
t1(i)。Text
t1(j)。Text
l1。Caption
这个算出来数不对。
我感觉就是往文本框中输入值那出的错
要是一维数组的话可以这样赋直
a(i)=i
a(i)=t1。text
但2维数组在这样赋直就不对了
请高手帮忙指点下,在下感激不尽!!!
你还没有给数组a()赋值,当然是0了Private
Command1_Click()