matlab中如何设定坐标的范围及其步长值?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中如何设定坐标的范围及其步长值?相关的知识,希望对你有一定的参考价值。
代码如下:
syms m b t h g;
m=0.650;
b=0.97;
g=9.79;
h=7.86;
t=[0:0.04:1.48];
y1=h+(g-0.2233)*(1-exp(-b*t))/b^2-(g-0.2233)*t/b;
plot(t,y1,'g','LineWidth',1.5 ),axis([0 1.5 0 8]),axis('square'),grid
title('篮球下落理想曲线(b=0.97)'),xlabel('t/s'),ylabel('y/m')
我现在想设置横坐标的范围为0到1.5,步长值为0.1,该如何修改程序,谢谢回答...急急急.........
以上代码的图
view([z y ]):(将坐标系统想象为一座房子,而自己是个会飞的天使,最初你在房子的北,海拔角度为0的位置,这是时你的视角是view[0 0],之后可以根据需要设置z和y的值,分别是绕房子转动的方向,和沿空间轴向上妃的高度)z表示视角沿z轴(正方向)旋转的角度,y表示视角沿y轴(水平面)旋转的角度
2、坐标轴显示、关闭、样式
axis off; % 去掉坐标轴
axis tight; % 紧坐标轴
axis equal; % 等比坐标轴
axis([-0.1, 8.1, -1.1, 1.1]); % 坐标轴的显示范围
% gca: gca, h=figure(...);
set(gca, 'XLim',[3 40]); % X轴的数据显示范围
set(gca, 'XTick',[-3.14,0,3.14] ); % X轴的记号点
set(gca, 'XTicklabel','-pi','0','pi'); % X轴的记号
set(gca, 'XTick', []); % 清除X轴的记号点
set(gca, 'XGrid','on'); % X轴的网格
set(gca, 'XDir','reverse'); % 逆转X轴
set(gca, 'XColor','red'); % X轴的颜色
3、设置x,y轴位置
set(gca,'YAxisLocation','right') % y轴的刻度设置到右侧 参考技术A
matlab提供了设置坐标范围的函数axis(),常用格式如下:
示例如下:
做图效果:
拓展资料
1、MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多。
2、并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
参考技术B set(gca,'XLim',[0 1.5]);%X轴的数据显示范围set(gca,'XTick',[0:0.1:1.5]);%设置要显示坐标刻度
set(gca,'XTickLabel',[0:0.1:1.5]);%给坐标加标签
具体可参考:
http://blog.csdn.net/yumengkk/article/details/6841164 参考技术C set(gca,'XLim',[0 1.5]);%X轴的数据显示范围
set(gca,'XTick',[0:0.1:1.5]);%设置要显示坐标刻度
set(gca,'XTickLabel',[0:0.1:1.5]);%给坐标加标签
具体可参考:
http://blog.csdn.net/yumengkk/article/details/6841164
如何利用matlab导入并提取jpg彩色图像像素点的坐标及其RGB值?想要完整的编码。谢谢哈。
假设原图片为“image.jpg”
代码如下:
clc;
clear;
%读入原图像
image = imread('image.jpg');
s = size(image);
%s=[98,97,3],表示image是3个98*97的矩阵,分别代表这个图像每个像素点的R、G、B值
%点[30,30]处的RGB数值:
p_r = image(30,30,1);
p_g = image(30,30,2);
p_b = image(30,30,3);
%分别读取RGB
image_r = image(:,:,1);
image_g = image(:,:,2);
image_b = image(:,:,3);
%测试RGB输出
subplot(2,2,1),imshow(image_r),title('Red component');
subplot(2,2,2),imshow(image_g),title('green component');
subplot(2,2,3),imshow(image_g),title('blue component');
subplot(2,2,4),imshow(image),title('original image');
扩展资料:
1、图片文件的数据,简单地说,就是一个二维数组,二维数组的行对应图像的高,二维数组的列对应图像的宽,二维数组的元素对应图像的像素,二维数组元素的值就是像素的灰度值。
2、彩色空间是用来表示彩色的数学模型,又被称为彩色模型。RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的。
参考资料:
百度百科-imread
假设原图片为“image.jpg”。
可以使用 Python Image Library 做,load() 函数会返回一个对象,这个对象我们可以把它当作一个二维数组对待,而数组中存放的就是点的 RGB 值,可以很容易地访问到任何像素点的 RGB 值:
from PIL import Image
# 可以支持很多种图片格式.
im = Image.open("your_picture.jpg")
pix = im.load()
# 获得图片的尺度,可以用于迭代
print im.size
# 获得某个像素点的 RGB 值,像素点坐标由 [x, y] 指定
print pix[x,y]
# 设置 [x, y] 点的 RGB 的值为 value
pix[x,y] = value
扩展资料:
在电脑中,RGB的所谓“多少”就是指亮度,并使用整数来表示。通常情况下,RGB各有256级亮度,用数字表示为从0、1、2...直到255。注意虽然数字最高是255,但0也是数值之一,因此共256级。如同2000年到2010年共是11年一样。
按照计算,256级的RGB色彩总共能组合出约1678万种色彩,即256×256×256=16777216。通常也被简称为1600万色或千万色。也称为24位色(2的24次方)。
参考资料来源:百度百科-RGB
参考技术B假设图片为image.jpg ,而且是500*500的像素。
代码为:
A = imread('image.jpg');
得到的三维矩阵A, size(A) =[500 500 3],那个3就是RGB三个值所占空间,如果你想去(10,10)的RGB3个值,则A(10,10, :)即可得到RGB的一个三维的向量。
扩展资料:
注意事项
Matlab 读取彩色图像是三维数组,图像的坐标是以左上角为(0,0)点,彩色图像形成的三维数组中前两位表示图像的像素点的坐标,第三位为1时表示是图像中R的值,为2时表示G的值,为3时表示B的值。故若要对一个彩色图像分别读取R,G,B时,采用下述代码即可。
% 2017-3-14
% write by Mr.Han
clc;
clear;
%读入原图像及获取大小
image = imread('1.jpg');
% 分别读取RGB
image_r=image(:,:,1);
image_g=image(:,:,2);
image_b=image(:,:,3);
% 测试RGB输出
subplot(2,2,1),imshow(image_r),title('Red component');
subplot(2,2,2),imshow(image_g),title('green component');
subplot(2,2,3),imshow(image_g),title('blue component');
subplot(2,2,4),imshow(image),title('original image');
参考技术C 假设图片为image.jpg ,而且是500*500的像素代码为:
A = imread('image.jpg');
得到的三维矩阵A, size(A) =[500 500 3],那个3就是RGB三个值所占空间,如果你想去(10,10)的RGB3个值,则A(10,10, :)即可得到RGB的一个三维的向量。追问
这个三位向量就是某个像素点的RGB值?像素点坐标怎么确定?
追答三维向量就是三个数组成的向量,你知道吧,RGB是指的红(R)、绿(G)、蓝(B)三个值。坐标就是图片上像素点所对应的位置啊,也就是说有了这个矩阵A之后,你就可知道图片的每一个像素点所对应的RGB值了。
追问坐标怎么显示出来?因为我必须将像素点的左边和RGB值绑定,经过坐标变换变成新的图像的坐标,但是RGB值绑在一起,所以RGB不会变。
追答你所谓的图像坐标,指的什么?
我理解的是假设图像是由500*500个像素点组成的,那个最左上角的坐标就是(1,1),最右下角的就是(500,500)。你要把坐标显示出来是要把一个坐标和它对应的RGB列出来么?如果是可以这样:
B = zeros(500*500,5);
for i =1:500
for j = 1:500
B(j+(i-1)*500,1) = i;
B(j+(i-1)*500,2) = j;
B(j+(i-1)*500,3) = A(i,j,1);
B(j+(i-1)*500,4) = A(i,j,2);
B(j+(i-1)*500,5) = A(i,j,3);
end
end
这样的到的矩阵B是一个列表,每一行的前两个元素代表像素点坐标,后三个代表RGB值。
你指的实际坐标是什么,难道是图像在屏幕的显示器上像素点坐标吗?老实将你到底要表达什么坐标我不懂。
这个代码得到的矩阵等同将导入图像的坐标和RGB值进行了绑定。谢谢哈。我要做的是将拍摄的图像展开(小孔成像一类的),所以需要一个算法进行坐标转换,将原始图像的坐标转换成展开后图像的坐标。
追答那你不说别人怎么知道你要做坐标转换呢。。。如果你要转换就再做一个坐标转换就是了。。。
本回答被提问者采纳以上是关于matlab中如何设定坐标的范围及其步长值?的主要内容,如果未能解决你的问题,请参考以下文章