kknit 2023-08-06 11:37 采纳率: 0%
浏览 74
已结题

怎么用matlab函数绘制pv曲线?

怎么用matlab,绘制光伏I-V曲线?
已知光伏电池i-v曲线关系为

img

I和V为变量,其余参数为

img

期望绘制后得到的图像为

img

已尝试如下绘图代码,但存在绘制后的图像与参考图像mpp点坐标对应不上的问题,数据反复验证无误,怀疑可能是绘图逻辑存在问题。

% 定义光伏电池的常数参数
Ipv = 8.21; % 光伏电池的光照强度
Io = 9.825e-8; % 光伏电池的反向饱和电流
Rs=0.221;
Rp=415.405;
l = 1.3; % 理想因子
k = 1.3806503e-23; % 玻尔兹曼常数
T = 298.15; % 绝对温度
q = 1.60217646e-19; % 电荷元素
Vmp=26.3;
Immp=7.61;

% 创建 V 的范围
Voc = 32.9; % 开路电压
V = linspace(0, Voc,100);

% 计算对应的 I 值
I = zeros(size(V)); % 初始化 I 数组
for i = 1:length(V)
    I(i) = Ipv - Io * (exp((V(i) + Rs*I(i)) / (l*k*T*54/q)) - 1)-((V(i)+Rs*I(i))/Rp);
end

% 绘制 PV 曲线
plot(V, I, 'b-');
xlabel('V (V)');
ylabel('I (A)');
title('PV 曲线');
grid on;
hold on; % 保留当前图形  
plot(Vmp, Immp, 'ro'); % 标注Vmp和Immp点

绘制出的图像

img

  • 写回答

12条回答 默认 最新

  • jinke2010_happy 2023-08-06 13:25
    关注
    获得0.30元问题酬金
    
    要使用MATLAB函数绘制PV曲线,可以按照以下步骤进行操作:
    
    定义所需参数和变量:
    
    定义光伏电池的常数参数,如太阳光照强度、温度等。
    定义光伏电池的端口电流和端口电压之间的关系式。在这个例子中,已知关系式为 I = Ipv - Io * (exp((V + RI)/ (lk*T/q))-1)。
    创建一个V的范围:
    
    使用 linspace() 函数创建一个 V 的范围,例如 V = linspace(0, Voc, 100),其中 Voc 是开路电压。
    计算对应的 I 值:
    
    使用 for 循环或向量化操作,对每个 V 值计算相应的 I 值。
    在每次迭代中,使用关系式 I = Ipv - Io * (exp((V + RI)/ (lk*T/q))-1),将当前的 V 和 I 代入计算。
    绘制 PV 曲线:
    
    使用 plot() 函数将 V 和 I 作为参数,绘制出 PV 曲线。
    可以设置线条样式、颜色等属性,使曲线更加清晰明确。
    下面是一个简单的示例代码:
    
    matlab
    Copy Code
    % 定义光伏电池的常数参数
    Ipv = 5; % 光伏电池的光照强度
    Io = 0.1; % 光伏电池的反向饱和电流
    R = 100; % 外部负载电阻值
    l = 1; % 理想因子
    k = 1.38e-23; % 玻尔兹曼常数
    T = 300; % 绝对温度
    q = 1.6e-19; % 电荷元素
    
    % 创建 V 的范围
    Voc = 0.5; % 开路电压
    V = linspace(0, Voc, 100);
    
    % 计算对应的 I 值
    I = zeros(size(V)); % 初始化 I 数组
    for i = 1:length(V)
        I(i) = Ipv - Io * (exp((V(i) + R*I(i)) / (l*k*T/q)) - 1);
    end
    
    % 绘制 PV 曲线
    plot(V, I, 'b-');
    xlabel('V (V)');
    ylabel('I (A)');
    title('PV 曲线');
    grid on;
    
    评论

报告相同问题?

问题事件

  • 系统已结题 8月14日
  • 修改了问题 8月7日
  • 赞助了问题酬金15元 8月6日
  • 创建了问题 8月6日