全栈工程师开发手册 (作者:栾鹏)

matlab2c动态链接库下载
matlab库函数大全
matlab2c基础教程
matlab2c开发全解教程

matlab2c调用方法:

1、下载动态链接库
2、将Matlab2c.dll拷贝到exe同目录下
3、将Matlab2c.h、Matlab2c.lib放到项目头文件目录下
4、在cpp文件中引入下面的代码

#include "Matlab2c.h"
#pragma comment(lib,"Matlab2c.lib")
using namespace Matlab2c;

matlab中diag函数简介

1、diag函数:矩阵对角元素的提取和创建对角阵

2、用法说明

1、X = diag(v,k)当v是一个含有n个元素的向量时,返回一个n+abs(k)阶方阵X,向量v在矩阵X中的第k个对角线上,k=0表示主对角线,k>0表示在主对角线上方,k<0表示在主对角线下方。
2、X = diag(v)向量v在方阵X的主对角线上,类似于diag(v,k),k=0的情况。
3、v = diag(X,k)返回列向量v,v由矩阵X的第k个对角线上的元素形成。
4、v = diag(X)返回矩阵X的主对角线上的元素,类似于diag(X,k),k=0的情况

diag的c++源码实现

矩阵对角线元素的抽取和根据对角元素生成矩阵
X = diag(v,k)当v是一个含有n个元素的向量时,返回一个n+abs(k)阶方阵X,向量v在矩阵X中的第k个对角线上,k=0表示主对角线,k>0表示在主对角线上方,k<0表示在主对角线下方。
v = diag(X,k)返回列向量v,v由矩阵X的第k个对角线上的元素形成

Matrix Matlab2c::diag(Matrix& a,int n)
{ Matrix p;int p_row;int index=0;//根据向量生成矩阵if (a.isVector()){p_row =a.row*a.column+std::abs(n);p=Matrix(p_row,p_row);for (int i=0;i<p.row;i++)for (int j=0;j<p.column;j++)if (j-i==n)p(i,j)=a(index++);elsep(i,j)=0;return p;}//根据矩阵提取对角元素else{p.column =1;if (n>0)p.row=std::min(a.column-n,a.row);elsep.row=std::min(a.column,a.row+n);p.data=new double[p.row*p.column];for (int i=0;i<a.row;i++)for (int j=0;j<a.column;j++)if (j-i==n)p(index++) = a(i,j);  return p;}
}
Matrix Matlab2c::diag(Matrix& a)
{ return diag(a,0);
}CMatrix Matlab2c::diag(CMatrix& a,int n)
{ CMatrix p;int p_row;int index=0;//根据向量生成矩阵if (a.isVector()){p_row =a.row*a.column+std::abs(n);p=CMatrix(p_row,p_row);for (int i=0;i<p.row;i++)for (int j=0;j<p.column;j++)if (j-i==n)p(i,j)=a(index++);elsep(i,j)=0;return p;}//根据矩阵提取对角元素else{p.column =1;if (n>0)p.row=std::min(a.column-n,a.row);elsep.row=std::min(a.column,a.row+n);p.data=new Complex[p.row*p.column];for (int i=0;i<a.row;i++)for (int j=0;j<a.column;j++)if (j-i==n)p(index++) = a(i,j);   return p;}
}
CMatrix Matlab2c::diag(CMatrix& a)
{ return diag(a,0);
}

diag函数的使用测试

#include "Matlab2c.h"
#pragma comment(lib,"Matlab2c.lib")
using namespace Matlab2c;int main()
{double a[]={1,2,3,4,5,6};Matrix aa=Matrix(1,6,a);Matrix bb=Matrix(2,3,a);Matrix cc=Matlab2c::diag(aa,1);cout<<cc.toString()<<endl;Matrix dd=Matlab2c::diag(bb,1);cout<<dd.toString()<<endl;system("pause");return 0;
}

matlab2c使用c++实现matlab函数系列教程-diag函数相关推荐

  1. matlab2c使用c++实现matlab函数系列教程-poisspdf函数

    全栈工程师开发手册 (作者:栾鹏) matlab2c动态链接库下载 matlab库函数大全 matlab2c基础教程 matlab2c开发全解教程 matlab2c调用方法: 1.下载动态链接库 2. ...

  2. matlab2c使用c++实现matlab函数系列教程-std函数

    全栈工程师开发手册 (作者:栾鹏) matlab2c动态链接库下载 matlab库函数大全 matlab2c基础教程 matlab2c开发全解教程 matlab2c调用方法: 1.下载动态链接库 2. ...

  3. matlab2c使用c++实现matlab函数系列教程-find函数

    全栈工程师开发手册 (作者:栾鹏) matlab2c动态链接库下载 matlab库函数大全 matlab2c基础教程 matlab2c开发全解教程 matlab2c调用方法: 1.下载动态链接库 2. ...

  4. matlab2c使用c++实现matlab函数系列教程-circshift函数

    全栈工程师开发手册 (作者:栾鹏) matlab2c动态链接库下载 matlab库函数大全 matlab2c基础教程 matlab2c开发全解教程 matlab2c调用方法: 1.下载动态链接库 2. ...

  5. matlab2c使用c++实现matlab函数系列教程-sort函数

    全栈工程师开发手册 (作者:栾鹏) matlab2c动态链接库下载 matlab库函数大全 matlab2c基础教程 matlab2c开发全解教程 matlab2c调用方法: 1.下载动态链接库 2. ...

  6. matlab2c使用c++实现matlab函数系列教程-rot90函数

    全栈工程师开发手册 (作者:栾鹏) matlab2c动态链接库下载 matlab库函数大全 matlab2c基础教程 matlab2c开发全解教程 matlab2c调用方法: 1.下载动态链接库 2. ...

  7. matlab2c使用c++实现matlab函数系列教程-conj函数

    全栈工程师开发手册 (作者:栾鹏) matlab2c动态链接库下载 matlab库函数大全 matlab2c基础教程 matlab2c开发全解教程 matlab2c调用方法: 1.下载动态链接库 2. ...

  8. matlab2c使用c++实现matlab函数系列教程-angle函数

    全栈工程师开发手册 (作者:栾鹏) matlab2c动态链接库下载 matlab库函数大全 matlab2c基础教程 matlab2c开发全解教程 matlab2c调用方法: 1.下载动态链接库 2. ...

  9. matlab2c使用c++实现matlab函数系列教程-real函数

    全栈工程师开发手册 (作者:栾鹏) matlab2c动态链接库下载 matlab库函数大全 matlab2c基础教程 matlab2c开发全解教程 matlab2c调用方法: 1.下载动态链接库 2. ...

最新文章

  1. 后端工程师入门前端页面重构(二):心法 I
  2. AngularJS跨域问题 ajax 跨域
  3. javafx 安装_JDK安装教程及环境配置
  4. 飞桨端到端开发套件揭秘:四大秘密武器,让你的开发效率直线提升
  5. OpenCASCADE绘制测试线束:OCAF 命令之几何属性命令
  6. 计算机考试internet应用好考吗,2015年职称计算机考试XP好考还是internet应用好考...
  7. C# EntityFramework连接Sqlite (Database First)
  8. vue data属性中的值绑定到dom上的一些问题
  9. 【STM32 .Net MF开发板学习-28】中文显示(WPF方式)
  10. UVA12554 A Special Happy Birthday Song!!!【水题】
  11. jquery程序 windows移植到linux显示不了,Windows10 + WSL 使用Linux图形界面程序
  12. 首次出现日访问量突破10000,祝贺
  13. 翼虎AE教程 Max贴图教程 地址备份。。。。
  14. sql语句练习 - 增删改查
  15. 插值法综合实例用matlab解决,matlab 插值法
  16. 2022元宇宙共享大会|何超:“开放与兼容”唤起元宇宙新的思潮
  17. 黑桃符号java怎么打印出来_java入门基础(四)
  18. 图像处理工具包实现应用图像效果
  19. 纯HTML5后台模板
  20. Linux IP代理筛选系统

热门文章

  1. 语音识别软件_语音识别软件是什么_离线语音识别软件_企业服务汇
  2. 语音识别在生活中的七个经典应用
  3. 代写python作业 费用_代写dither method作业、代做python程序设计作业、代写python语言作业、代做Image Dithering作...
  4. 远程修改服务器登录密码,远程服务器修改登录密码
  5. JavaScript中this指针的绑定规则
  6. 后端返回文件,前端下载导出
  7. 【java笔记】序列化和反序列化
  8. MediaMuxer的使用
  9. ffmpeg处理RTMP流媒体的命令大全
  10. Sublime Text3底部面板添加命令行(cmd)