Matlab与C/C++/Java的一些区别

变量

定义和初始化

C/C++中要先定义变量,如果未初始化,其值一般是不确定的

Java中变量使用前,须初始化或赋值(实例化时,类中的全局变量会自动被初始化为默认值)

Matlab中变量在写入时不需预先定义,但在读取时应该已被定义

数组长度

C中数组长度固定,可用malloc函数扩展内存空间,并复制已有值到新开辟的连续内存空间

C++/Java中长度可用new获取新的内存空间,并复制已有值到新开辟的连续内存空间

Matlab中变量长度、维度在写入时都可以自动扩展,为了提高性能,最好避免变量纬度自动扩展,而是预先定义空的多维变量,如二维char型数组 a = ['';''];

注意:Matlab变量长度的自动扩展只在写入变量时发生,读取变量时则不可访问越界

例如:对于定义的变量a=[1 2;3 4],赋值语句a(5,5)=1会自动扩展,而b=a(10,10)则会访问越界出错

数组的比较

C语言:对于字符串,可用strcmp函数,其他类型,要循环逐个比较

Matlab:字符串可用strcmp函数。维度、长度相同的任意类型数组,可直接用==比较,比较结果也是同样大小的数组,为1则对应位置的值相等,为0则不等

自增操作

C/C++/Java可用 x++或++x

Matlab只能 x = x+1;

数组下标

C语言: 下标从0开始,用中括号表示。如a[0],二维数组a[0][1]

Matlab:下标从1开始,用小括号表示,如a(1),二维数组a(1, 2)

字符串的表示

C语言中用双引号"test"

Matlab用单引号 'test'

字符串复制常用方法

// C中不能用等号赋值,等号赋值只是指针的复制

C语言:strcpy(a, b);

// C++中可重载操作符“=”实现等号复制字符串

C++/Java:String b = new String(a);

% Matlab中视情况而定,b=a可以复制整个字符串变量。如果b是二维char型数组,则可用 b(2, 1 : length(a)) = a来复制。b的长度不够会自动扩展,a的长度不足则会补空格。

Matlab: b = a;  b(2, 1 : length(a)) = a;

运算符

求余

C语言: a % b

Matlab:  mod(a, b)

不等于

C语言: !=

Matlab: ~=

循环的写法

// c语言

for(i = 0; i < n; ++i) {   // i = 0 ~ n-1

}

% matlab

for i = 1 : n    % i = 1 ~ n

end

条件分支结构

// c

if(a==0) {

} else if(a==1) {

} else {

}

% matlab

if a==0

elseif a==1

else

end

函数定义

C语言:函数只能有一个返回值,多个返回值可通过定义结构体、使用指针作为参数传入函数实现

Matlab:函数可有多个返回值,通过[a b] = func()获取

代码优化

Matlab中尽可能多使用矩阵变换运算,而少采用循环的方式

本文首发自我的个人网站,转载请注明来源:http://www.hainter.com/matlab-c-java

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242178.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

男子借款70万前后还了1600万仍未还清,如何避免套路贷?

事件回顾&#xff1a;男子借70万陷入套路贷&#xff0c;前后还了1600万。浙江宁波有一侯姓男子&#xff0c;自己是做石材生意的&#xff0c;本来自己一直安安分分做着生意&#xff0c;2013年年底&#xff0c;因为对一个建筑项目投标&#xff0c;急需一大笔钱。他通过中间人向张…

测试下HTML博文

发布测试 <script>window.onload function () {var obj document.getElementById("box");alert("获取#box元素成功");} </script>

一篇故事讲述了计算机网络里的基本概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等

从别处看到的一篇很不错的文章&#xff0c;形象地阐释了网络里的抽象概念。 计算机主机网关的作用是什么? 假设你的名字叫小不点&#xff0c;你住在一个大院子里&#xff0c;你的邻居有很多小伙伴&#xff0c;在门口传达室还有个看大门的李大爷&#xff0c;李大爷就是你的网关…

Photoshop图层学习总结

移动工具选择图层 方式1&#xff1a;按Ctrl键并单击画布相应位置&#xff0c;选择相应图层 方式2&#xff1a;勾选“自动选择” 图层蒙版 图层蒙版中白色部分&#xff0c;对应图层位置会显示&#xff1b;黑色部分&#xff0c;对应图层不显示(即为透明) 1、可在图层面板创建 2、…

Photoshop常用快捷键

常规CtrlA/X/C/V全选/剪切/复制/粘贴CtrlN新建文件CtrlShiftN新建图层CtrlS保存CtrlShiftS保存为选择CtrlD 取消选择Shift添加到选区Alt 从选区减去 ShiftAlt 与选区交叉Ctrl移动选区变形Shift保持长宽比Alt 中心对称 Ctrl扭曲变形缩放滚动Alt鼠标滚轮 缩放Ctrl鼠标滚轮左右滚动…

5000万存银行会有什么待遇?有钱真让人羡慕!

年底了估计有不少朋友家里拆迁&#xff0c;5000万赔偿款正愁着没地方花&#xff01;所以想找个银行存钱&#xff01;开个玩笑&#xff0c;我们回归正题&#xff0c;你要是真有5000万存进银行&#xff0c;那不管是对国有大银行还是对一些小银行来说&#xff0c;绝对是一笔大额数…

如何从ios酷我音乐盒中导出已下载的音乐文件(使用Java编程实现)

本工具已经编写了第二版&#xff0c;为不了解编程的读者提供了可以直接使用的软件&#xff0c;请移步这里阅读和使用 http://blog.csdn.net/jzj1993/article/details/44459983 本文所涉及内容用于技术学习&#xff0c;请勿用于不正当用途&#xff0c;否则后果自负。酷我音乐ios…

2018年中国人均GDP接近1万美元,这在全球处于什么样的水平?

按照人均1万美元计算&#xff0c;目前我国大概可以排在世界第64位&#xff0c;比2017年的上升6位左右。中国人均GDP突破1万亿美元&#xff0c;属于中等偏上收入国家1月16日有媒体爆料&#xff0c;预计2018年人均国内生产总值可接近1万美元。1万美元的人均GDP略高于中等偏上收入…

信用卡逾期不还是否要坐牢?看法律是怎么规定的

信用卡不还款要坐牢&#xff1f;估计这事情说的有点严重&#xff0c;但事实上确实有不少人因为信用卡逾期还不上而被法院判刑了的。我们先来看2个实际的案例。案例1&#xff1a;萍乡一贸易老板经常套现信用卡用于偿还债务。2014年5月开始&#xff0c;黄某开始不按期归还信用卡账…

安卓设置Activity切换动画无效的问题

做安卓App时&#xff0c;常会设置Activity之间切换的动画。常用的方法有两种&#xff0c;一种是用Activity的overridePendingTransition方法&#xff1b;另一种是用style文件通过xml进行设置。 一开始使用style的时候&#xff0c;我只设置了Window的动画&#xff0c;在大部分手…

优惠到期,2月1日起支付宝将恢复0.6%的手续费

这个题目相信很多网友都会一脸茫然&#xff0c;支付宝优惠到期是什么优惠呢&#xff1f;我们怎么没有享受过&#xff1f;其实这个所谓的优惠就是刷卡手续费的费率优惠&#xff0c;当然这个主要是针对商家而言&#xff0c;对普通消费者暂时没有什么影响。可能说到刷卡手续费&…

安卓创建快捷方式相关问题 Intent Intent-filter

Intent在安卓中&#xff0c;Activity启动时通常需要Intent参数。Intent参数中包含以下几个常用的属性&#xff1a;Component&#xff0c;指定了要启动的Activity&#xff0c;以及启动的context&#xff0c;使用Intent.setClass或Intent.setComponent方法可以设置&#xff1b;Ac…

安卓动画知识总结 Animation AnimationSet LayoutAnimation

本文由PurpleSword(jzj1993)原创&#xff0c;转载请注明原文网址 http://blog.csdn.net/jzj1993常见动画有几种控件View的动画(如Dialog窗口中的圆形进度条)空间Window的动画(如DialogWindow&#xff0c;PopupWindow的动画&#xff0c;Activity切换时整个Window页面的动画)View…

Activity和Service通信 Bind方式

本文由PurpleSword(jzj1993)原创&#xff0c;转载请注明原文网址 http://blog.csdn.net/jzj1993在Service中自定义Binder类&#xff0c;实现方法getService&#xff1b;覆写Service的onBind方法public class MainService extends Service {Overridepublic void onCreate() {sup…

语义分析 文本矛盾点解析_关于解析文本的几点思考

语义分析 文本矛盾点解析Yesterday I wrote about three course modules in Oslo, and the fact that most of the presentation material is online. Today I will be writing about one lesson in the curriculum about ‘Parsing’. First I will share a few general thoug…

专家建议用南方的养老金拿去救济东北,网友炸锅了

随着我国老龄化的不断加剧&#xff0c;养老资金已经成为了社会要面临的一个艰巨问题&#xff0c;特别是在东北地区&#xff0c;这些年来东北地区经济发展比较缓慢&#xff0c;导致养老资金收入也跟着放慢&#xff0c;目前有的省份养老基金结余已经为负数&#xff0c;这对于如何…

安卓屏幕尺寸相关知识

本文由PurpleSword(jzj1993)原创&#xff0c;转载请注明原文网址 http://blog.csdn.net/jzj19931.px Pixels,像素值2.dp dip device independent pixel,设备独立像素(安卓专用虚拟像素单位)3.density,屏幕密度(1)近似换算关系 px dip*density, dip px/density(2)相同像素值…

明明知道银行存款会贬值,为什么还有那么多人把钱放在银行?

钱存在银行肯定是贬值的&#xff0c;但是对于那些风险意识比较低&#xff0c;或者从风险承受能力比较低的人来说&#xff0c;你除了存在银行&#xff0c;还有别的更好选择吗&#xff1f;没有&#xff01;银行存款利率基本上跑不赢通货膨胀。最近几年&#xff0c;我国货币量的不…

pandas 机器学习_机器学习的PANDAS

pandas 机器学习Pandas is one of the tools in Machine Learning which is used for data cleaning and analysis. It has features which are used for exploring, cleaning, transforming and visualizing from data.Pandas是机器学习中用于数据清理和分析的工具之一。 它具…